Preheat the oven to 400 degrees Fahrenheit.
Grease a 9x9 inch baking dish and pour the hashbrowns in the dish. Season with ½ tsp each salt and pepper and mix to combine. Bake in the preheated oven for 25 minutes. Stir the hashbrowns, then continue to cook for 15-20 minutes or until crispy and golden brown on the edges. Remove from the oven and set aside.
Meanwhile, make the sausage gravy: Heat a medium deep skillet over medium heat. Add the sausage and cook, stirring and breaking up the meat, until browned, about 8 minutes. Add the butter and let it melt. Stir in the flour, garlic powder, onion powder, and pepper. Cook for a couple minutes, then stir and keep cooking to make a roux. Stir in the milk and simmer for 3-5 minutes, until thickened.
Pour desired amount of sausage gravy over the hashbrowns in the dish.
Make the scrambled eggs: Whisk together the eggs, milk, and a pinch of salt and pepper. Heat a medium skillet over medium low heat and add the oil. Once heated, add the egg mixture and cook, stirring and moving the eggs around the pan, until scrambled and cooked through.
Spoon the eggs into the baking dish and top with the shredded cheese.
If making ahead of time, let cool, then cover and refrigerate until ready to eat. When ready to serve, remove from the fridge 30-45 minutes ahead of time to come to room temperature.
Transfer to the oven heated to 400 degrees and bake for 5-10 minutes or until the cheese is melted.