Possible Workaround for dedicated server? (UE5)

I was following this closed issue. Multiplayer Origin Rebasing Support Notes · Issue #480 · CesiumGS/cesium-unreal · GitHub and Convert subset of terrain into Unreal landscape · Issue #351 · CesiumGS/cesium-unreal · GitHub

I learned that a client/listen host is able to replicate world terrain collision for clients but only within the client/listen host’s camera frustum. However, due to the nature of a dedicated server having no viewport, when clients connect and spawn they stutter for a moment but once authority saids collision isn’t loaded they will fall through.

I’m currently trying to set-up a multiplayer server with a certain CesiumGeoreference origin that has Streaming Sublevels of Buildings (No origin-rebasing). The users are able to control a Walking Pawn and Flying Pawn. If we restrict everyone to no-clip flymode then i can kind of ignore the problem but when any client switches to ground pawn they will fall through.

Possible hacks i was thinking of:

  • Is there a database i can pull from to make my own collision mesh that will conform to the Cesium World Terrain at it’s highest-level-of detail. e.g https://www.usgs.gov
  • I see people using RenderDoc or other methods to get 3D geometry from the GPU then edit in blender.
  • Can we spawn a grid of dummy camera or pawns on the dedicated server to ensure that an area on the World terrain is loaded?

Hi @Darb_Dude,

Sounds like you have an interesting project going! My first instinct is to say that Cesium’s streaming would work better with client-authoritative physics (at least for the players themselves). This would avoid having to exhaustively load the superset of geometry that the clients are interacting with, since that could span the entire world.

If that wouldn’t work however, you could use the Cesium Camera Manager Blueprint API to add custom virtual cameras to guide the streaming of Cesium tilesets. An example of how to use the API is available in the PR description here. You could use this to stream arbitrary areas to authorize physics on the dedicated server.