ðŸ“ķNetwork - Unity SDK

Synchronise the Kinetix emotes for your players with our server agnostic solution.

How it works

When you play an animation, the event KinetixCore.Animation.OnAnimationStartOnLocalPlayerAnimator will be fired.

It allows you to use a callback to then pass the ID of the emote played to your network layer, and, using a RPC or a Sync Variable, to trigger the animation on the KinetixCharacterComponentRemote (see below).

For more information about the whole strategy, you can visit Kinanim (Emote streaming) and Emote networking & caching.

Network Implementation

On Remote Player Join

Once a remote peer connects in your same room or is already connected in the room, you can register them by giving their peer network IDs as argument, and their animator:

KinetixCore.Network.RegisterRemotePeerAnimator(string _RemotePeerUUID,
                                               Animator _Animator);

Then get and store the automatically added KinetixCharacterComponent

this.kcc = KinetixCore.Network.GetRemoteKCC(Id.ToString());

On Remote Player Leave

Once a remote peer disconnect in your same room, you can unregister them by giving in argument their peer network ID.

KinetixCore.Network.UnregisterRemotePeer(string _RemotePeerUUID);

On Local Player Leave

Once a the local peer disconnect of the room, you can unregister all remote peers.

KinetixCore.Network.UnregisterAllRemotePeers();

KCC Local vs Remote

We differenciate 2 types of KinetixCharacterComponent: Local and Remote. It's today mostly for semantics, as a Remote KCC will have the same capabilities as the Local one, but represents a Remote Peer.

Integration's exemples

Photon PUNPhoton Fusion

Last updated