Cook hash browns on hot griddle with vegetable oil until slightly golden brown. Set aside.
Prepare a casserole dish by greasing bottom and sides with 1 tablespoon of butter.
In a large saute pan over medium high heat, melt remaining tablespoon of butter. Add onion and bell pepper. Allow to cook until fragrant and slightly brown while stirring occasionally, about 5-8 minutes. Add ham and mushrooms, stir, and allow to cook until slightly browned, another 5-8 minutes. If there is any remaining liquid from the mushrooms, drain, and set ham, onion, pepper and mushroom mixture aside.
I medium sized bowl, whisk together eggs and milk.
Add hash browns to casserole dish. Pour egg mixture over hash browns. Add half of the shredded cheese, followed by the ham and veggie mixture, then top with remaining cheese. If preparing the night before, cover with foil and refrigerate.
To bake, preheat oven to 350 degrees F. Bake in preheated oven, covered, for 45 minutes. Remove foil and continue to cook until cheese is melted and the edges just start to turn golden brown, 5-15 minutes more. Serve with ketchup and hot sauce, if desired (that's how I like it).