Issue with loading Level Stream instances using blueprints

So I’m trying to make a procedual level just like what is explained in the first part of this tutorial:
[Procedual room generation][1]

Most of it is taken from the tutorial. What I’ve added was a string to set the name each instance. Then I’ve added a “create Instance” node and added the “get streaming level” which I did by dragging my level stream from the “levels” subwindow into the blueprint. I hooked that and the string to the “create Instance node” and added a “level transform” referencing the generated instance and the transform calculated for each tile of the level.

http://puu.sh/jkdYG/73e9652eca.png

Inside the editor the meshes of both levels referenced in the blueprint are visible. But when I play my map there is nothing there.

My blueprint can be seen here. This was done in the level blueprint of the main map.
[Blueprint][3]

Anyone know what I’m doing wrong? Note that I tried packaging my project and launch it but there is still nothing to be seen.
Thanks in advance!

Do you have scene components in your persistent level where player starts?

You probably need to load first level where player starts in the construction script so it is loaded by time player spawns then streaming levels should work as needed from there

I don’t see where you actually load your level instances. LevelStreaming object returned by CreateInstance node has two properties you need to change: ShouldBeLoaded and ShouldBeVisible need to be set to ‘True’.

I managed to get it working by adding in a ‘Load Streaming Level’ node

Thanks. That did the trick, although it only loads the level stream once.

OK made a change and I have it alternating between each level 3 times here, (using MOD to alternate even/odd)

That setup just spawns two levels for me, not six.

This what I have so far.
Video
The issue is the create instance node does not want to create a new instance of a level that had an instance created before. Only if I were to unload that level it creates the instance.

Thats super weird, perhaps a bug? which version of UE are you one, I am 4.8.3 on OS X. I can spawn any combination of levels, I did the alternate ones just to show that its working with more than one level and repeating them.

Can you send a screenshot of your new BP? are you doing it in the level BP of the Persistent Level?

I am using 4.8.3 on Windows 10.

Here is what you suggested and resulted me in just 2 level instances.

http://puu.sh/jnHAu/1d2fefd7db.png

Here is the blueprint I have used for the video mentioned before.

http://puu.sh/jnHVK/a952eeb8ef.png

http://puu.sh/jnHZC/5a81082c94.png

http://puu.sh/jnI2b/c49eda0731.png

I have also modified the ForEachLoop node making the next loop start once the previous level instance is completely loaded.

http://puu.sh/jnIf5/2a0b54d71b.png

And yes this is all in the level BP of the persistent level. The level stream blueprints are empty.

OK in your version of my BP, you need to hook up all of the SET nodes to the return value pin of the Create Instance, so they operate on the instance that you have just created

I realise my first screenshot made that hard to see, sorry (also I made the same mistake when I first made it) :slight_smile:

What are you doing here does not make much sense. You are Loading a level and then creating another instance of the same level. What you should do is to create level instance with unique name, set level transform, and than load that instance using LoadStreamLevel with just created unique name for your instance.

Please do note, that Indirect Lightning Cache and Lightprobes do not work when your level is tranformed.

Thats the point, its to instance the same ‘room’ multiple times without re-loading it. It could be done with BP’s per room but the OP wants to use levels.

Yes, I will have to use full dynamic lighting, the first video showing how to make such random levels in the first place shows how to do it efficiently.

Thanks, it worked!