Preheat the griddle with one side set to medium heat and the other side set to medium-high heat, approximately 375°F to 400°F.
Add the cooking oil to the medium-heat side. Add the sliced onion and season lightly with some of the salt.
Cook the onions for 6 to 8 minutes, tossing occasionally, until tender and lightly browned. Move them to a cooler section of the griddle.
Spread the softened butter over the cut sides of the rolls. Place the rolls cut-side down on the griddle for 1 to 2 minutes, until lightly toasted. Remove and set aside.
Spread the shaved beef in a thin, even layer across the hotter section of the griddle. Season with the remaining salt and black pepper.
Allow the beef to sear without moving it for 60 to 90 seconds.
Use two metal spatulas to chop, turn, and separate the beef. Continue cooking for another 2 to 3 minutes, until fully browned and cooked through.
Combine the cooked onions with the beef and toss until evenly distributed.
Divide the beef and onion mixture into four portions shaped roughly to the length of the rolls.
Place two slices of American cheese over each portion.
Cover the portions with a melting dome for 30 to 60 seconds, until the cheese is fully melted. If needed, add a small splash of water beside the food before covering to create steam.
Open each toasted roll and place it directly over one portion of beef and cheese.
Slide a spatula underneath the filling, turn the roll upright, and transfer the cheesesteak to a serving plate.
Add pickled hot peppers or Cheez Whiz if desired. Serve immediately.