Imagine working in a quiet, out-of-the-way storage facility, expecting just another boring, routine shift. Same ole, same ole. However, this time when you clock in everything gets flipped on its head and now you are trapped in a claustrophobic death maze. That’s the setup for Cold Storage, a wild, goo-soaked sci-fi horror comedy directed by Jonny Campbell, a green mutating virus, and a cast of likable heroes collide in messy chaos.
Travis (aka Teacake), played by Joe Keery, expects his graveyard shift at an isolated self-storage facility to be as boring and mind-numbing as it was the night before. With him is a new hire, Naomi, played by Georgina Campbell. She roams the halls making sure that there is nothing out of the ordinary happening with any of the units. It’s a pretty boring night until Travis begins to hear a persistent beeping that seeps through the walls. The two follow the sound down to the underground, where a hidden ladder opens into something far more sinister.
Unbeknownst to Travis and Naomi, the warehouse in which they work is built on the site of an old U.S. military base. This particular base was designed to contain the most dangerous substances known to man. Worst among some that were housed is a highly contagious, highly dangerous green virus that hijacks the brain of its host. Once infected, they rapidly deteriorate and eventually explode. The last time that the virus was loose in the outside world was back in the 70s, where it was introduced to former U.S. agent Robert Quinn, played by Liam Neeson, who has seen how quickly this virus can destroy a town. When rising temperatures set it free all these years later, the organism spreads fast, infecting humans and animals and mutating into increasingly nightmarish forms.
Back in the present day, Robert, Travis, and Naomi are in a race against the clock to contain this rapidly mutating virus and save all of humanity.
(L-R) Joe Keery, Liam Neeson, and Georgina Campbell in Cold Storage (2025) – StudioCanal
The influence that Invasion of the Body Snatchers has on this film is pretty obvious. In fact, one of the first moments we are introduced to Keery’s character, we find him reading a copy of the Jack Finney novel, which is a nice nod. It pays homage to the ‘80s midnight madness horror flick in all of the details, from the gooey body horror to the gross, creepy, zombie-ish virus-infected running around. Although there is a clear love for the B-movie genre, Cold Storage tends to play it a little more safely than take chances. Sometimes going with the safer, more contained option isn’t a bad thing. The setup is refreshingly straightforward. It tips its hat to its inspirations and keeps the story tight with its 90-minute runtime.
Cold Storage gets all of its power from the performances. Keery plays a comically awkward lead who’s basically built for freaking out in an underground nightmare. Campbell, on the other hand, brings this sharp, no-nonsense energy as Naomi, keeping the movie grounded whenever they are faced with the oozing threat. Together, the chemistry between the two is undeniable and fun. Both characters are instantly likable, with just enough mystery in their backstories to keep you interested. In the last few films I have seen Neeson in, including this one, he is having a lot of fun. Neeson has mastered the artform of delivering deadpan seriousness with just enough self-awareness and silliness that give the audience exactly what they want.
If you are looking for a dark film with complex themes and a more sinister virus that feels more rooted in reality, this is not the film for you. Cold Storage never puts its heroes in real danger, and sometimes that is also okay. Sometimes that is what we all need, to escape reality for a bit and watch a group of people in the midst of their own silly chaos and beat the bad guys, in this case it is a green mutating virus.
Rather, Cold Storage is the kind of movie that doesn’t ask you to think too hard or stress too much. What is charming about Cold Storage overall is how much fun it is and the stakes never feel life-or-death. Sometimes it’s nice to just let go, turn off the world outside, and enjoy a story that’s fun. It delivers in the fun tenfold. The characters are likable and easy to root for. The real world feels extremely sinister at times; sometimes it is nice to just escape it all with a silly film.
Websites store cookies to enhance functionality and personalise your experience. You can manage your preferences, but blocking some cookies may impact site performance and services.
Essential cookies enable basic functions and are necessary for the proper function of the website.
Name
Description
Duration
Cookie Preferences
This cookie is used to store the user's cookie consent preferences.
30 days
These cookies are needed for adding comments on this website.
Name
Description
Duration
comment_author_email
Used to track the user across multiple sessions.
Session
comment_author_url
Used to track the user across multiple sessions.
Session
comment_author
Used to track the user across multiple sessions.
Session
Statistics cookies collect information anonymously. This information helps us understand how visitors use our website.
Google Analytics is a powerful tool that tracks and analyzes website traffic for informed marketing decisions.
Used by Google Analytics to determine which links on a page are being clicked
30 seconds
_ga_
ID used to identify users
2 years
_gid
ID used to identify users for 24 hours after last activity
24 hours
_gat
Used to monitor number of Google Analytics server requests when using Google Tag Manager
1 minute
__utmc
Used only with old Urchin versions of Google Analytics and not with GA.js. Was used to distinguish between new sessions and visits at the end of a session.
End of session (browser)
__utmz
Contains information about the traffic source or campaign that directed user to the website. The cookie is set when the GA.js javascript is loaded and updated when data is sent to the Google Anaytics server
6 months after last activity
__utmv
Contains custom information set by the web developer via the _setCustomVar method in Google Analytics. This cookie is updated every time new data is sent to the Google Analytics server.
2 years after last activity
__utmx
Used to determine whether a user is included in an A / B or Multivariate test.
18 months
_gac_
Contains information related to marketing campaigns of the user. These are shared with Google AdWords / Google Ads when the Google Ads and Google Analytics accounts are linked together.
90 days
__utma
ID used to identify users and sessions
2 years after last activity
__utmt
Used to monitor number of Google Analytics server requests
10 minutes
__utmb
Used to distinguish new sessions and visits. This cookie is set when the GA.js javascript library is loaded and there is no existing __utmb cookie. The cookie is updated every time data is sent to the Google Analytics server.