Replication and Synchronization Overview¶
In Strix, each client has its own copy of the game world. Those copies must be kept identical to provide players a shared game world experience. It is called synchronization.
Strix can perform synchronization of objects in the game world and their properties in real-time. This section explains functionality for synchronization.
There are several types of synchronization.
Replication¶
First of all, all copies of a world must appear as containing the same set of Actors. An Actor spawned on a client must also be spawned on other clients, and an Actor destroyed must also on others, too. This type of synchronization is called replication.
Replication is handled by the Strix Replicator component that you attach to an Actor.
Movement¶
Many multiplayer games require movement of player characters as well as of NPCs and obstacles to be synchronized.
Movement synchronization is handled by the following two components, from which you can choose for each Actor appearing in your game, depending on the nature of the Actor in your game design.
Strix Movement Synchronizer component, a versatile movement synchronizer.
Strix Transform Sync component, a lightweight movement synchronizer suitable for Actors making only simple movements.
Animation¶
Actors often need to make animations so that they look alive and real. Unreal contains an animation Blueprint system for the purpose. Strix, on the other hand, have Strix Animation Sync component to synchronize the animation.
Actor properties/variables¶
You may want to synchronize your own properties of your Actors. Strix Replicator has an ability to synchronize properties of Actor Blueprints only by marking them on the Details panel. (There are some limitations, however.)
RPC¶
The word RPC stands for remote procedure call, and it allows you to call methods on Actors on other clients.