Light a gas grill or charcoal grill for 2-zone heating; one zone for direct high heat and one zone for direct low heat. to
Place a medium cast iron skillet on the low heat zone grates. Add the oil and butter. Heat until the butter is melted, swirling the skillet to coat. Add the onions and cook, stirring occasionally, 5 to 10 minutes or until just softened. Pour in the beer and heat until simmering. Add the bratwurst to the skillet and arrange the onions around the brats.
Close the lid and cook, turning the brats often, 20 minutes or until the onions are caramelized, the bratwurst is lightly brown an instant read thermometer inserted into center of the brats registers 160°F.
Using tongs, transfer bratwurst to the the grill grates and grill, turning often, 3 to 5 minutes or until they are browned on all sides. Continue simmering the onions in the skillet, stirring often, 5 to 7 minutes or until the liquid has cooked off and the onions are caramelized.
Meanwhile, grill the buns, cut-side down, 1 minute or until golden.
Using tongs, transfer the brats to a serving plate and let rest a few minutes until ready to serve. Transfer the onions to a serving bowl. Serve the brats with the onions and buns alongside.