While the films of the DC Extended Universe haven’t always done their iconic characters justice, they have often cast those roles perfectly. If critics had one nice thing to say about Suicide Squad, it was that Margot Robbie’s performance as Harley Quinn was awesome. As long as there are great actors in these roles, committed to playing them well, then there’s still plenty of hope for the franchise.

RELATED: The DCEU's 5 Best (& 5 Worst) Performances

Jason Momoa was apparently the first and only choice for the role of Aquaman, as no other actors were considered for the part, but more often than not, a DCEU casting is the result of a long search in which a wide net is cast.

Perfectly Cast: Ben Affleck As Batman

Ben Affleck as Batman in Justice League

While BvS’ focus on universe-building over storytelling and screenplay constructed from a pretty great Bruce Wayne.

Following in the tradition of actors whose casting in a Batman movie faced backlash from fans, Batfleck proved the naysayers wrong. Affleck nailed Bruce’s rage and father-son dynamic with Alfred — not to mention the brute force in his fight scenes — while also bringing a uniquely grizzled edge to Snyder’s older, Dark Knight Returns-adjacent take on Batman.

Almost Cast: Jon Hamm

Jon Hamm in an office in Mad Men

Jon Hamm and Josh Brolin were offered the role of Bruce Wayne in Batman v Superman before Ben Affleck was cast. Scott Adkins auditioned for the role but believes he never stood a chance against an Oscar winner like Affleck. Richard Armitage, Orlando Bloom, and Luke Evans were all considered, too.

According to Jeffrey Dean Morgan, he discussed a Dark Knight Returns adaptation with Zack Snyder on the set of Watchmen and Snyder promised to cast Morgan as Batman. Instead, he cast him as Batman’s father in the opening prologue.

Perfectly Cast: Amy Adams As Lois Lane

Lois Lane holding a notepad and looking serious in Man of Steel

Amy Adams is one of the best actors working today. Whenever she stars in a new movie (outside the DCEU, that is), the Academy tends to take notice. She’s even been compared to Meryl Streep.

So it was hardly surprising when she brought a lot of depth and nuance to the DCEU’s ittedly thinly written Lois Lane. Adams shares tangible on-screen chemistry with Henry Cavill and perfectly captures Lois’ plucky spirit.

Almost Cast: Zoe Saldana

Zoe Saldana on the Starship Enterprise in Star Trek

Zoe Saldana was the runner-up for the role of Lois Lane. If Amy Adams had turned down the role, Saldana would’ve booked it. This likely would’ve prevented her from playing Gamora in the MCU, which would be a great shame because she became the heart of the Infinity Saga, so it’s probably for the best.

A ton of famous faces screen-tested for the role, including Rachel McAdams, Amanda Seyfried, and Kristen Stewart, and even more were considered, such as Sandra Bullock, Anne Hathaway, Mila Kunis, Natalie Portman, Saoirse Ronan, and Olivia Wilde.

Perfectly Cast: Gal Gadot As Wonder Woman

Wonder Woman blocks a bullet wth her forearm bracelets

As a true-to-life warrior and an actor whose approach to the craft exquisitely lines up with Patty Jenkins’ cheesiness-does-not-exist approach to directing, Gal Gadot was the perfect choice to play the DCEU’s Wonder Woman.

RELATED: DCEU: 5 Actors Considered To Play Batman (& 5 For Wonder Woman)

Jenkins was initially skeptical about Gadot’s casting, as casting her was Snyder’s call and Jenkins was hired after that decision was made, but as soon as she saw Gadot in character as Diana, she realized she was perfect for the part.

Almost Cast: Olga Kurylenko

Camille in Quantum of Solace

Olga Kurylenko and Élodie Yung were on the shortlist alongside Gal Gadot for the role of Wonder Woman. Interestingly, Gadot was once up for the role of the Bond girl that Kurylenko played in Quantum of Solace. Her unsuccessful audition for that movie led to her audition for the Fast & Furious franchise, which ended up launching her career.

Jaimie Alexander was approached for the role of Wonder Woman but had to turn it down due to her commitments to playing Lady Sif for Marvel. Ironically, shortly afterward, Marvel sidelined her character (but hopefully she’ll make a comeback in the future!).

Perfectly Cast: Zachary Levi As Shazam

Zachary Levi as Billy Batson in his Shazam form Wearing his Suit in a convenience store

Shazam is a unique superhero role because the actor has to look tall, ripped, and handsome enough to be Superman, but he’s actually an immature teenager. Zachary Levi has both the physicality and the goofiness to effectively play Shazam.

Levi’s performance made the movie. If it hadn’t been for his hilarious command of the silliness of each scene, then the wacky comic tone of Shazam! might not have worked as well.

Almost Cast: John Cena

John Cena's character in a field in Bumblebee

John Cena was one of the producers’ top choices for the role of Shazam and the wrestler-turned-actor even met with director David F. Sandberg to discuss the part. However, Cena had to turn down the offer due to scheduling clashes with Bumblebee. Cena will instead the DCEU as Peacemaker in The Suicide Squad.

RELATED: DCEU: 5 Actors Considered To Play Superman (& 5 For Lex Luthor)

Zane Holtz, Billy Magnussen, Jake McDorman, Joshua Sasse, Derek Theler, and Parker Young all did screen tests for the title role in Shazam! before Zachary Levi was cast.

Perfectly Cast: Margot Robbie As Harley Quinn

Margot Robbie in Birds of Prey

Since David Ayer was forced to finalize the script in just a couple of weeks and the editors of the trailer were brought on late in post-production to recut the entire movie like a feature-length trailer, there’s not much to enjoy in Suicide Squad.

However, the film does have one saving grace in the form of Margot Robbie’s performance as Harley Quinn, capturing Harley’s manic energy and stealing every scene she’s in.

Almost Cast: Emma Roberts

Emma Roberts as Chanel smirking in Scream Queens

Emma Roberts was her commitments to the Ryan Murphy slasher series Scream Queens. Ryan Gosling was the first choice to play the Joker prior to Jared Leto’s casting.

A handful of other A-listers were considered before Robbie was cast, including Alison Brie, Rooney Mara, Amanda Seyfried, Emma Stone, Emma Watson, Evan Rachel Wood, and Mary Elizabeth Winstead, who later played Huntress in Birds of Prey.

NEXT: MCU: 5 Roles That Were Perfectly Cast (& 5 Actors Who Almost Played Them)