AceShowbiz - It's pretty much confirmed that Superman and Batman exist in "Shazam!" universe. Various photos and videos from the movie have shown that Freddy Freeman (Jack Dylan Grazer), Billy Batson's (Asher Angel) foster brother, is a huge superhero fan who has collected memorabilia of those two DC heroes.
What's not addressed or never seen in the sneak peeks is that whether Henry Cavill's Superman would appear in the Zachary Levi-starring film. The rumors were floating around about the "Justice League" actor's cameo in "Shazam!", but the deal reportedly fell apart.
After left with this uncertainty for months, fans finally get the answer about the Superman cameo now that the movie has hit theaters. [SPOILER ALERT!] In the film, Freddy tries to prove to other kids that he's friends with Shazam! by promising that he'll eat lunch with him on the following day. Billy doesn't show up though.
Later in the closing scene, after he defeats Dr. Sivana (Mark Strong), Billy appears in his adult form (Levi) during lunch at the school, which Billy and his foster siblings attend. While the kids look in awe, Shazam! says that he brings a friend and Superman walks out carrying a lunch tray.
Audiences don't get to see Superman's face though, as he's shown from the neck down. Someone else, instead of Cavill, appears to be wearing the Superman suit in "Shazam!", confirming rumors about the actor's scrapped appearance in the movie.
Back in September 2018, The Hollywood Reporter said that Warner Bros. had been trying to enlist Cavill for a Superman cameo in "Shazam!", "but contract talks between Cavill's WME reps and the studio broke down, and the door is now closing on other potential Superman appearances."
Responding to the rumors that Cavill is retiring as the Man of Steel, Warner Bros. said in a statement, "We have a great relationship and great respect for Henry Cavill that continues to remain unchanged. Additionally we have made no current decisions regarding any upcoming Superman films."