How can I reset a streamed sublevel each time it is loaded?

I have a main persistent level that loads various sublevels that contain several blueprint actors. The FIRST time I stream in a level, OnBeginPlay is called for these sublevel actors. However, if I unload the sublevel, then stream it back in, it is not reset and OnBeginPlay is not called again.

How can I ensure the sublevel is treated as “new” each time it loads, resetting the actor states and calling OnBeginPlay again?

I don’t want to reset the main persistent level – it holds global state variables that need to remain persistent.

You can setup a custom event and connect it to the same nodes as begin play and when you stream the level back in call that custom event to fire, you could even set it up using a BP interface to call the event so you only have to setup the interface to call it on all of the underlying blueprints.