Use Timers instead of relying on Delay nodes. Delay nodes are a quick hack, so it’s no regret with using Timers instead of them
Then you can set the access level to functions, it works since 4.25.
Actually, it’s a matter of adding a simple method like “Load Stream Level (by Object Reference)”. Load Level Instance also has 2 versions, accepting string and accepting TSoftObjectPtr<UWorld>.
Using Soft Object Ptr is all good and definitely intended, but IIRC it was added thanks to a pull request.
It would be a trivial work to add proper StreamLevel methods, I could look into it. Now, can’t promise if they would pull that in