01 - Melt butter with olive oil in a large skillet over medium heat. Add sliced onions, salt, and sugar. Cook, stirring frequently, until onions turn deeply golden and soft, about 20 minutes. Stir in balsamic vinegar during the last 2 minutes if used. Remove from heat and set aside.
02 - In a medium skillet over medium-high heat, melt butter with olive oil. Add mushrooms and cook until browned and tender, approximately 7 minutes. Add minced garlic, season with salt and pepper, and cook for 1 additional minute. Remove from heat and set aside.
03 - Shape ground beef into 4 equal patties, each approximately 3/4 inch thick. Season both sides with salt and black pepper.
04 - Preheat grill or skillet over medium-high heat. Cook patties for 3 to 4 minutes per side until medium doneness or preferred level. During the last minute of cooking, place a slice of Swiss cheese on each patty and cover to melt.
05 - Spread softened butter on the cut sides of the buns. Toast on a skillet or grill, cut side down, until golden brown.
06 - Place lettuce and tomato slices on the bottom bun. Add the cheese-topped patty, then layer sautéed mushrooms and caramelized onions. Spread Dijon mustard or mayonnaise on the top bun if desired. Close and serve immediately.