[Warning: spoilers for Shazam! to come]
Shazam! takes place in the same “extended universe” as Batman v Superman: Dawn of Justice, which means when Billy Batson/Shazam throws a Batman action figure at Mark Strong’s Dr. Thaddeus Sivana, he’s actually throwing Ben Affleck. This leads to about 12,000 questions, like does Gigli exist in the DCEU? Is Batman in the “Jenny from the Block” music video”? And most importantly, now that Henry Cavill is done playing the Man of Steel (joining Affleck, who also retired his superhero cape), who was that playing Superman?
In the final seconds of Shazam!, Billy shows up at his and Freddy’s school with a special friend: Superman. We never see the Man of Steel’s face, only the lower half of his body, so it’s obviously not Cavill in the costume. (If it was, he’d still be required to get rid of his mustache.) “Originally, Superman actually sat down at the table and they had a little bit of a conversation,” director David F. Sandberg told Inverse. “But when we were up in Toronto shooting, we couldn’t make it work… I wanted Henry Cavill to pop up. But he was unavailable, which was disappointing.” Instead, they got Zachary Levi’s stunt double:
“We had Zack’s stunt double do it, but I was worried. Is this gonna feel cheap? Is this not gonna work? To cut before you see his face, is this gonna feel cheap? Are people gonna feel cheated? [But] it just made us laugh. You see Freddy’s reaction and a hard cut to credits, and it’s just funny. It turned out better than what it was originally where he sat down and had a little chat.”