Prick bratwurst with fork to prevent them from exploding as they cook. Place in a large stock pot with the onions, butter, and beer. Place pot over medium heat, and simmer for 15 to 20 minutes.
Preheat grill for medium-high heat.
Lightly oil grate. Cook bratwurst on preheated grill for 10 to 14 minutes, turning occasionally to brown evenly. Serve hot off the grill with onions on hoagie rolls.