01 - Heat olive oil and 1 tablespoon butter in a skillet over medium heat until shimmering.
02 - Add mushrooms and onion, if using, and sauté for 5 to 7 minutes, stirring occasionally, until softened and golden.
03 - Stir in garlic and cook for 1 minute. Season with salt and black pepper, then transfer mixture to a plate. Wipe skillet clean.
04 - Spread butter on one side of each bread slice. Place two slices, buttered side down, on a clean surface.
05 - Top each bread slice with 2 slices of Swiss cheese and half of the mushroom mixture. Cover with remaining bread slices, buttered side up.
06 - Heat the skillet over medium-low. Place sandwiches in the pan and cook for 3 to 4 minutes per side, pressing gently, until bread is golden and cheese is melted.
07 - Transfer sandwiches to a cutting board, slice in half, and serve hot.