Slice onion into thin strips.
Saute onions in a pan with 1 T. olive oil and 1 T. butter on medium heat until they reach your desired caramelization level. (About 10-15 minutes in, you can start the rest of the process)
Slice the mushroom into 1/2 inch steaks from heat to foot (like broccoli).
Arrange mushrooms in a dry non-stick skillet on medium heat.
Cook mushrooms for 5 minutes and flip when browned. Cook for 5 more minutes on the second side. Salt and pepper each side.
Add in 1 T. of butter, and make sure it gets onto each mushroom.
Fry until golden on each side. Remove from pan.
Toast the bread in the mushroom pan, and add up 1 T. more butter, if desired.
Place a slice of Swiss cheese on the bread, cover the pan to melt the cheese.
Pile your sandwich with onions and mushrooms.