At the beginning of this decade, the “Star Wars” franchise was a moribund disaster after three terrible prequels. While “Harry Potter” finished a run of eight hit films, Marvel’s "The Avengers” broke box office records and “Star Trek” and “Game of Thrones,” were humming along, “Star Wars” had only a single children’s cartoon on basic cable. Then in 2012, Disney bought out Lucasfilm and turned Star Wars into the biggest comeback story of the decade.

This weekend the “Skywalker Saga,” as it has been rebranded, comes to an end with Episode IX, “The Rise of Skywalker.” It is a film that never manages to be great, but it is, in the end, probably good enough.

(Some spoilers below.)

This weekend the “Skywalker Saga,” as it has been rebranded, comes to an end with Episode IX, “The Rise of Skywalker.”

At first fans didn’t trust Disney's plan to complete creator George Lucas’ original vision of a nine-film, three-trilogy space saga. They had good reason. Despite the popularity of the original trilogy, it took 16 years for the first prequel to come out in 1999. And despite the hype, the next three films were full of dull plotlines, bad acting and worse writing. So when Episode VII, “The Force Awakens” (2015) turned out to be a competently made movie, the relief was palpable. Even better, it was a film that symbolized the reawakening of the franchise, a passing of the torch to the next generation of Rey (Daisy Ridley), Finn (John Boyega) and Poe (Oscar Isaac), a smart, talented and diverse trio of actors. “The Force Awakens” made $2 billion at the box office by the time its run was done.

The success of the liftoff meant this year’s “The Rise of Skywalker” wouldn’t have to stick the landing to be a box office champ. But the film’s weaknesses are nonetheless startling, as the first 50 minutes are a near-incoherent whirlwind of locales. Each subplot in this barrage feels like it was edited down to bare bones to make it fit the run time. It feels like watching the cliff notes of an entire extra movie shoved into the film’s opening scenes.

And that’s because it kind of is. When “The Force Awakens” debuted its black, Hispanic and female leads, a small subset of the white and male fandom went ballistic. A couple billion dollars will paper over such noise, but it nonetheless worsened with the back-to-back releases of Episode VIII “The Last Jedi” and “Solo: A Star Wars Story.” The former was a film that seemed to be actively challenging this small but vocal subset, while the latter directly pandered to it — and was a box-office flop. Neither Lucasfilm nor Disney ever directly acknowledged the whiners, but it’s clear the complaints got into the heads of the producers and directors tasked with finishing out the project.

And so in what feels like desperate attempt to avoid controversy, the first hour of “Rise of Skywalker” is all about pleasing the angry minority. But as generally happens with such a strategy, it has backfired. Most fans want to see Star Wars push the boundaries, challenge the audience and grow as a story — not stick to unimaginative and tired tropes. Moreover, the majority of moviegoers have forgotten this interfandom drama, if they were ever aware of it in the first place.

Logistically speaking, any unnecessary deviation in plot was bound to have consequences, “The Rise of Skywalker” has 142 minutes to bring 42 years of storytelling to a close. But once director J.J. Abrams actually dives into other storytelling, things improve enormously. Even here, though, “Rise of Skywalker” plays it safe. Interesting conflicts, like Kylo Ren’s (Adam Driver) internal battle between good and evil are replaced with Rey’s far more traditional worry that she’s not a worthy Jedi. Controversial characters like Kelly Marie Tran’s Rose Tico are sidelined to focus on more traditional male characters like Isaac’s Poe. It’s a disappointing full step back from the advancements made in “The Last Jedi.”

But the fight between the dark and the light has always been at the heart of Star Wars. The idea of “with hope, good wins out” is the fairy tale that has attracted legions of fans since the 1970s. And director Abrams hits those notes with gusto. Lightsabers swing, Mcguffins are chased, dangerous feats are survived. Rey and Kylo Ren have their long-awaited showdown, and it will surprise no one that redemption is in the cards. This leads to a much bigger showdown with Emperor Palpatine (Ian McDiarmid), back again to be the evil behind the evil. (Palpatine’s puppet this time takes the form of Richard E. Grant as General Pryde, an actor born to chew scenery in a Star Wars film.)

Force ghosts appear from past movies to cheer the heroes on, including at least one cameo that was well worth keeping under wraps. Carrie Fisher, who died three years ago, is digitally inserted just enough to give her a well-deserved on-screen send-off. And the final scene brings the entire cycle of nine films full circle as the twin suns set in the distance, though with an ending that leaves the door open for another Star Wars resurrection.

But while some of these moments sing, the rest of the movie borders on a shaky mess. And the ending, while it ties up the required loose ends, is by no means perfect. Still, for a Star Wars film, fans have watched far worse.

Related: