Why can't I unload a streaming level?

I’ve been trying to unload a level via blueprints but nothing I do seems to work.

It’s pretty simple:

I’ve double checked the name variable a hundred times and I’m certain it’s spelled correctly.

The streaming method is set to Blueprint, and I can see that the meshes I want to unload are actually part of this sublevel. I don’t know what else to check or try.

Edit: I’ve also tried replacing the Unload Stream Level (by Name) node with an Unload Stream Level (by Object Reference) node, as well as just writing the name of the level directly into the Level Name input pin

Project settings , transition level

Some level has to always be loaded.

Yes, I have a persistent level. What I’m trying to unload is a sublevel

As long as the name is correct, the blueprint looks correct to me.

Have you tried any basic debugging steps?

  • add a “print” node before and after the Unload, or
  • add a breakpoint on the Unload to see if it’s actually being reached.

Yeah, I put a print string node after it and it fires when I interact with actor this script is in.

I just put this in my Player Character blueprint:

I can load and unload L_CaravanseraiBasement no problem, but when I change the Level Name input in the Unload Stream Level (By Name) node to L_WorldBasin, it doesn’t work. So that suggests to me that it’s something with the level itself, not the blueprint…