Implementing Multiplayer Gravity-based Games in Cesium For Unreal, Using Google Photorealistic 3D Tiles

I’ve been working with blueprints in Cesium for Unreal.

The Character Movement settings Ignore Client Movement Error Checks and Correction and Server Accept Client Authoritative Position aren’t checked in the Cesium for Unreal Samples, Level 3 (Denver, Third Person) demo map. Checking those boxes does solve problems, but the problems are more apparent with Google Photorealistic 3D Tiles.

With Google Tiles loaded and those boxes unchecked, in the Character Movement details panel, apart from falling off the map, the client’s movement is wrong. The Character moves at the wrong speed and ends up in the wrong place. This is not a problem in Denver. In Denver, all that happens is the Character falls off the map in certain places.

Movement is fine in Denver until that happens! With the boxes checked and Google Photorealistic 3D Tiles loaded, the characters stay on the map in their own windows, move correctly (if you can imagine), but vanish altogether as far as the other players are concerned.

Actually, I first noticed that the characters are ‘visible when they’re falling’ from the PlayerStart. I then noticed they’re ‘visible when they’re jumping’ (which is literally the same movement mode as Falling). Following that, I tested flying and the characters are also visible in that mode.

Then there’s this setting in Character Movement called Stay Based in Air. When Stay Based in Air is selected, characters are no longer visible when they jump/fall/fly.

Furthermore, characters are visible when they are given another actor/base to stand on such as a plane. It seems like the client characters vanish as soon as they become based to the Google tile.

Can anyone shed light on the matter?

I’m not an expert in Unreal’s character system, nor its multiplayer support. But Google Photorealistic Tiles - just like Denver tiles - are both just regular Unreal static meshes once they’re loaded. So I don’t know what would cause the difference you’re seeing. Just to check an easy thing: you do have “Enable World Bounds Check” disabled in both cases, right?

I have tried that and it’s not related to the ‘bug’. What are your next thoughts?

image

I’ve also tried Enable Multiplayer World Origin Rebasing. It will take you 10 minutes to set this up and give it a try.