Procedural level streaming help

Hey all been trying to work on my world some more as I’ve been neglecting that side of my game for a while now. I’m trying to do a random level generation with level streaming and running into some troubles.

I followed a couple tutorials:

Video 1

Video 2

Don’t expect anyone to sit through them all but can get a basic look at the code. And here is mine.

Honestly there is an absolute fuckton of ■■■■ I still need to do with this. So I’d appreciate any help with this as there are almost no tuts on this at all.

I’m trying to figure out how to make it do random shapes rn but any numbers I plug in to change make it so there is empty tiles where no level streams for some reason.

I have lots of levels for it to pick from and it always gets a couple duplicates for some reason and I can’t figure out how to make it rotate the levels 90 randomly if I try to change my rotation to a random int between 0-4 I always get empty spots.

Make the persistent level this gens from much much bigger with it just loading as needed like mine craft.

Eventually add multiple level designs that can spawn that would be separated by land features such as rivers, mountains and oceans.

A sort of fog or volume that unloads the level and hides it from view when your not close enough to save your fps.

Some sort of way to have the different biomes separated out with specific region data.

I’m sure with enough time and youtube/ue4 answer hub tuts I could figure it out on my own as I’ve been able to with most other issues with my game but every now and then I get really stuck and this seems to be the case rn.

I’m doing this all with bps cause I suck at the words coding.

I ovb. don’t expect people to just straight up tell me how to do this ■■■■ or make a code for me just anyone that can point me into the right direction with these problems I have would be great as this procedural stuff seems quite advanced for me and the internet has like 3-4 good tuts on it.

Any help appreciated.

I believe the problem is in your arithmetic function that calculates the transform.

In the case where “level grid size” is 10, and the next level to be streamed is the one that should be in the 2nd row and the 1st column, (the 12th loop) “Index 2” = 0 and “Index 1” = 1.
In order to be streamed into the desired location, the location coordinate of this level needs to be: [1st column, 2nd row], more specifically [x = 0, y = “Tile Size”]

Your code is placing the following into the X location of the transform: “Index 1”{1} x “Tile Size” = “Tile Size”, “Tile Size” x “Level Grid Size”{10} = 10"Tile Size", 10"Tile Size" / 2 = 5"Tile Size", “Tile Size” - 5"Tile Size" = -4"Tile Size"

Your level that should be in [1st column, 2nd row], seems to instead be in [-4th column, -5th row]