Prick bratwurst with a fork to prevent them from exploding as they cook.
Place in a large stockpot. Add beer, onions, butter, and black pepper. Place the stockpot over medium heat, bring to a boil and simmer for 15 to 20 minutes.
Preheat an outdoor grill for medium-high heat and lightly oil the grate.
Cook bratwurst on the preheated grill until evenly browned, about 10 to 14 minutes, turning occasionally. Serve hot off the grill with onions on hoagie rolls.
