Download

nDisplay (multi-node) does not support dynamic actor spawning

The nDisplay plugin doesn’t seem to provide for spawning assets dynamically during gameplay. Please note I am talking specifically about multiple node configurations – configuration where multiple game exe’s (one computer or multiple) are cooperating to render a contiguous synchronized virtual viewport.

The documentation on nDisplay discusses actor replication here:

It has this disclaimer:

These components do not carry out a full replication. Only the transforms of the parent Actor or of child Components are sent to the cluster.

The components DisplayClusterSceneComponentSyncParent and DisplayCluserSceneComponentSyncThis will synchronize movement across nodes for all actors which exist in the map at load time but without true actor replication as provided by the UE multiplayer engine support, actors spawned at game runtime will only exist within the process where the spawn was initiated. I have created a simple test application based on the nDisplay sample application that confirms this. I was careful to make sure that my spawned actor are configured correctly - replication turned on, ownership established, etc. Its clear from the logs that nDisplay is not starting the slave nodes as multiplayer clients anyway. Perhaps there is support for this somewhere but I couldn’t find it.

Comments:

For my application (and most apps I would think) this limitation is disqualifying. I considered trying to add a ‘spawn actor’ sync message to the nDisplay implementation but true support for actor replication would be a large task – and is already a problem solved by the UE multiplayer infrastructure. It seems the best solution would be to piggy back on the infrastructure to solve this problem which is probably not a small task either.

If there is something I’m missing I’d appreciate learning about it. If I’m correct, I’d still like to hear some musing from staff that worked on this implementation. I’m willing to contribute if there is a reasonable plan to support this.

Did you ever get anywhere with this? I have the exact scenario with dynamic content that will not show outside of the master node. Thanks…

Hi, nDisplay now has something called ClusterEvents.

Use this to send an event out to all nodes in the cluster. When the event reaches all nodes you simply use the Spawn From Class, or similar, and all nodes will spawn the actor dynamically. Since nDIsplay is deterministic all nodes will be synced after this event has occurred.

Regards, Linus