Preheat the oven: Set your oven to 350°F (175°C). Grease a 9x13-inch baking dish with butter or cooking spray to prevent sticking.
Prepare the hash browns: If you're using frozen hash browns, allow them to thaw slightly for about 5 minutes before adding them to the casserole. Spread the hash browns evenly across the bottom of the prepared baking dish, pressing them down slightly to create an even layer.
Add the protein and veggies: If you're using cooked bacon, sausage, or ham, evenly distribute it over the hash browns. You can also add sautéed bell peppers, onions, or other vegetables at this stage. Top with green onions for extra flavor.
Prepare the egg mixture: In a large bowl, whisk together the eggs, milk, garlic powder, onion powder, salt, and pepper. Mix until well combined.
Add the cheese: Stir in 2 cups of shredded cheddar cheese and 1 cup of shredded mozzarella cheese into the egg mixture.
Assemble the casserole: Pour the egg and cheese mixture over the hash browns and meat/vegetable layer in the baking dish. Make sure the mixture is evenly distributed.
Bake the casserole: Place the baking dish in the preheated oven and bake for 45-50 minutes, or until the casserole is golden brown on top and the center is fully set. A knife inserted into the center should come out clean.
Serve and enjoy: Let the casserole cool for about 5 minutes before slicing into squares and serving. Enjoy hot!