Listen Server + World Composition

After only finding open questions but never a dedicated answer, we have to ask:

Is there official support for listen servers in world composition?

Right now we experience mutliple weird bugs when using it that way, and a lot seems to stem from the fact that world composition on the listen server doesn’t consider the client players at all.
This includes:

  • Client players falling through despawned floors when listen server player goes too far away
  • PIE/UncookedStandalone Client players not streaming in any levels when joining a PIE/UncookedStandalone session. (Client player only has the persistent level loaded, but never loads tiles or “AlwaysLoaded” streaming levels)

We would have expected the listen server to load tiles as it would for multiple local players (of course, the load issues on the listen server are another topic that would have to be addressed).
But instead, the client players ar enot considers by world composition and live at the mercy of the listen server player being close enough to them.
A dedicated server or loading the whole map always is no option for us.

Other questions on the internet only get the answer refering to the fact that offset origin shifting is not available in mutliplayer, which is not seomething we use in the first place. This question seems to go back to even 4.11.

I wish it did but I don’t think it works.

did you find a solution to this? is standard level streaming an option?

Is there a way to control this on client side only?

I think this is an important topic. How do other games like Forest and Rust handle this job? As I know, they work like a listen server. Or the player who owns the game leadership executing another server exe?

Correct, Rust is made in unity and also uses listen server model. Here’s an article talking about how they did their networking. Rust's Networking - Garry's Blog

If I were to guess, I say something about unity lets you load world tiles locally and probably allows for some sort of net culling authority.

that’s not built into the default UE networking model as far as I’m aware. What you could do is use a combination of the default networking model and photon which is now available for unreal.

Not sure at what point in the upgrade path to UE5 we switch to double precision floats, but at that point it will be simple to just do regular level streaming.