PlayerStart character starts underneath my map

Hey @SupportiveEntity!
So we fixed a few problems and figured out what the main problem that’s causing his player to fall through the map last night lol. Or at least we think we figured it out. It seems like it has to do with the World Partition system. When he hits play, everything in the level seems to just disappear as if it’s being unloaded, not destroyed. It went from about 6,000 actors to 13 and then down to 12 when the player reaches the kill Z. The actors aren’t being destroyed because we created an event to be called when a particular actor is destroyed. Also it only happens in this level and this is the only level to have World Partition on. I went through the documentation on how World Partition works as haven’t touched it yet. When trying to create a data layer in his level, instead of creating a data layer with a name, it created a data layer called “Unknown”. When I tried doing this in a fresh world I created and partitioned, I wouldn’t get this error. But I was using 5.0 and he’s in 5.1. So I switched to 5.1 and at first I didn’t get the “Unknown” data layer to show up, but then after I deleted a layer, created a new one and did that a few times, I eventually got the “Unknown” name/error. If I were to leave the level or close out of the engine and come back to the level, the console throws an error saying that there is no data layer blueprint. So I went ahead and created one and only when I gave its “Data Layer Type” the value “runtime” instead of “editor” was I able to go into its advanced settings and enable its initial runtime state. Also to add this, I seemed to recreate the same problem he was having where the player was being spawned at the origin and not at the player start AND the world is disappearing. But going back to what I ended up doing was I went into the game mode that would be used when in the partitioned level and made sure that the level would be loaded in correctly. I was able to fix it on my end and got the whole level to load in. I still have some problems like the player won’t spawn at the player start and instead at the origin. But I put a block a little below the origin to catch the player to make sure everything else was okay and it’s all fine on my part. I’m still confused on how to keep the player start loaded in at all times because I think with the delay of the player start being loaded in, the player is by default spawning at 0, 0, 0. And even if I remove the player start from the data layer and it should therefore always be loaded in, it doesn’t seem to be. But aside from my fixes and problems, his level doesn’t load in anything even after doing the EXACT same thing as I do. And another that we’re both having problems with when it comes to world partition, when clicking on an actor in the world and going to its world partition setting in the details panel, the “is specially loaded” checkbox is greyed out. I was at one point able to click it, I played my level and then it greyed out for some reason. I’ll attach some screenshots too to see if you maybe understand what’s going on here because I’m brand new to this system :slightly_smiling_face:

image
image


Ok I fixed the problem with spawning at the origin instead of the player start. I thought I unadded the player start from data layer but I guess not. So that problem on my end seems to be fixed, but everything else is still an issue and I’m not sure what’s going to work on his end because we can’t test anything with a level that doesn’t load in.

Oh that’s odd, I’ve never seen the data layer that seems unlinked. Is the data layer asset still in place? Did it just fail to remain connected?

You’re correct that if you enable the data layer during runtime it’d be too late to catch the spawn.

You should be able to keep the original data layer active from the start, which should eliminate both issues as long as the load system isn’t changing the character’s location off the bat. Is everything tied to the old broken unknown data layer?

@SupportiveEntity
When we opened up the data layer tab, nothing was there for both of our projects. Initially, when I created a new layer, it would be fine. But then when I deleted the layer and made a new one, it looked different and required me to manually create a new data layer asset and change some other settings. I got everything to work on my world just fine with the world partition and data layers. When doing the same thing in his world, it’s not working at all. It says everything is activated but only 13 actors are in the world.

Ahhhh are his other objects still assigned to the unknown data layer?

Nope. You can’t even assign objects to an unknown data layer. We tried lol.

I can officially say that I’m stumped. This issue is beyond anything I’ve faced like it and without being hands on, it’s hard to even ask a good probing question on this one.

If you launch the game in editor and hit F8 to detach as soon as the map starts and look around, are the objects still left in the outliner? Or are they just entirely gone?

I appreciate that for sure for some reason im to new to DM anyone on the forums. I only gave him a temporary link and my discord is very secure. But thank you anyways!! Followw up below.

Stumped is right! Even being fairly new to this, there were a few thigs we came across from me trying to fix some things on my own and we re routed around some redundancies but other than that everything has been untouched. Its like i hit play and everything worked fine and the next time i hit play this happened haha. We have definitly learned some things for sure. So i proceeded to press f8 and just see the character falling to the abyss. Seems like when i float around with the camera everything is just blank or dark even going up for a bit. Could anything be in these settings? So after pressing play i just let the character fall and when in camera view i can select on the left my World data layers and i can view more details


Maybe i direct something through here? Just a thought.

There’s not too many data layer settings that could even have the effect of entirely removing objects only at runtime. That said I don’t use data layers enough to give you too much guidance there.

Yea i found my character does show up in the darkness, When i pause and go free camera, i can select all actors and it does show i can select things in the world they just simply do not show up. Still have not found a solution, it is strange.

Hi there - I came across this post while having the same problem and wanted to share my solution. I found that spawn points (and therefore my entire map) had to be below Z = 0 for some reason. You can move your entire level by highlighting everything in the Outliner, right click → transform → delta transform. I estimated the amount to move down by selecting an element at the lowest point on my map, and did a delta transform down for that amount, plus another -1000 for good measure as it still gave me some issues at around -100. Hope this helps and I didn’t bump the thread for nothing!

2 Likes

Do you have a “Player Start” ?
Do you have a default player? If you don’t it could be that you are not spawning the player correctly or there is a validity error that you need to create a delay from beginplay in the player character blueprint in order to handle. In Unreal Engine 5 it is becoming more supported (this is an opinion that I believe is true but could be subjective experience) that we would need to use development delays in order to get our games to run properly.

I have this error sometimes and its not just that the delay isn’t there, but there could be a validity error in your project that a delay would help fix.

Do you have a default character? Do you have a spawn location? Is the player start above the floor? Do you drag the player start in or do you spawn the player start?

If you don’t have a starting default character, you are probably possessing incorrectly or insecurely to make it invalid.

Good luck.

I was having the same issue with no understanding of how to fix this, but when I made a new gamemode BP and assigned the default class pawn to first person (the one i wanted) it fixed the problem.

I found a way to hack the issue by creating an empty actor which I attached a pawn that default to my character. The character at least spawn on the map instead underneath. The only problem with it, is that is keep memorize the last location of the pawn, even after closing and relauching the engine.

In my case, it was the pre-created NetworkPlayerStart that caused the player’s camera to be instantly teleported below the ground. Or at least this behavior has temporarily stopped since I deleted the spawner.

1 Like


Hope this help!