I use world composition for a multiplayer game i’m working on.Its not something super complex its just a flat terrain.Each Piece of terrain is 512x512 and on its own level inside the levels browser. So i test the game with several clients at a time. For some reason each time i load up the game there is atleast 1 or 2 clients that fall through terrain and the others are fine. Ive tried putting the player start really high up to ensure it doesn’t happen but it still does. Ive changed things like step height and it still happens. Does anyone know things to try to keep all player from falling through the terrain?
Dont really know anything about multiplayer stuff, but it looks like some delay between loading terrain and its collision model, and starting calculation of players collision capsule and physics. I know that player collision capsule physics calculate only when player move (which sometimes causes problem with crocuhing mechanic).
If it not just some bug in your code, or some general error in coding multiplayer stuff, i guess you can start with some simple test where: some player will trying to moving when they loading, and other - stay away from keyboard and mouse. Im not sure but probably players who dont trying to move will not falling. If so, just some delay on player controlled input can solve the problem.
Well its fine on a smaller map. I think it might take to long to load or something? Im not sure ive been trying to figure it out for a few weeks now.
Edit: I just tried using smaller terrain squares in the levels. And it seems to not happen as often. Does anyone with large open world experience have any tips on this?
Still an issue - no way to spawn a player at an arbitrary location on a World Composition based map and guarantee that the level below it has been fully loaded. Ideally we should be able to force load the relevant level with a loading screen being shown.
You could use a linetrace for worldstatic below the player and nothing is hit, force a psuedo-loadscreen to pop up and freeze the player in place until the line trace does hit something