How do you manage interpenetrations with Emotes and avatar mesh ?

To make Emotes as immersive as possible, Kinetix had to deal with interpenetrations issues that gamers are witnessing all the time through a specific AI model called "contact aware retargeting".
Every Emotes distributed through Kinetix SDK and API are optimized with the "contact aware retargeting" that regargets Emotes on the target rig before their distribution.

If my avatar is complex how will the animation be played on it?

What you see in our Emote catalog is what you get on your avatars!
However, if your avatar's rig is less complex than Kinetix's rig then you might have less detailed motions.
In any case, we are optimizing the retargeting with our proprietary retargeting technology and all Emotes you see in our catalog will always be consistenly integrated on your avatars.

How is retargeting handled?

For optimizing user experience, retargeting process is queued as explained in Animation System. It means that we ensure all Emotes that appear as loaded on the players side will always be available to be played by them at anytime. Emotes that are still in the queue will appear has been loaded for players.

Will Kinetix SDK affect my game performance?

Our Kinetix Emote infrastructure has been developed to solve issues you are experiencing when integrating Emotes into your project. Among different aspects what we optimized most is: network and memory.
We went through the process and developed a solution that facilitates Emote integration to a point where you will only have to focus on the fun of managing Emotes in your project.
Head over to Core package to understand how we solve those problems for you

How many animations can be added to my game and what is the impact on the memory?

With our SDK, there is no limit, you can add as many Emotes as you want, benefiting from our cloud-based catalog! Kinetix's SDK has been designed to optimize memory usage.
As explained in Network our SDK only loads selected Emotes by users to generate related animations. Networking is also optimized with a pose extraction enabling to reduce by >200 times the memory used for broadcasting an animation.

How do you solve spikes of gamers and associated server sollicitation?

We thought of multiple solutions as historically the animation where only synchronised based on the state and not the poses..
The SDK sends serialized poses through network to limit the charge on spike as it only requires users to download a pose for each active emotes on several frames.
The data you will send, the frequency and the number of players at peak will impact the bandwith of the server and your users.

How can I optimise the SDK for usage spikes ?

For optimisations purposes (especially for mobile and low connections) considering you can have up to 500 gamers at same time in the same room, Kinetix recommends the following optimisations:
  1. 1.
    Reduce Serialiazed Data: During serialisation you can choose which data you want to serialize. This can be updated through the KinetixCore configuration with an instance of KinetixCore.Network configuration.
  2. 2.
    Reduce the frame rate : Reducing the frame rate will reduce the amount of poses sent over time and will result in lower bandwidth charge. You can test out the quality for lower Frame rate but we recommend to keep a frame rate at a minimum of 20.
  3. 3.
    AOI (Area of interest) : While receiving serialised pose from clients, you can determine which other clients will need to apply those poses based on their positions, or if they are visible for example.
  4. 4.
    Omission : During spike, we recommend to keep a small amount of user networking emotes. In that case you can setup a limit of N players playing an emote simultaneously handled by your network and send a maximum users emote poses based on your server bandwith limitations.

How do you manage big amount of gamers connected at the same time?

To unlock self-expression in games, Kinetix had to make the necessary to allow as much players as possible to play Emotes at the same time! When hundreds of players use their loaded Emotes at the same time our smart networking solution optimize peer-to-peer connection. As detailed in Network our SDK only extracts poses of played Emotes and shared that reduced pose information with the other players.
Eventually, we allow you to decide the memory allocated to the Emote networking so you can optimize it based on your needs. From our various tests we identified 50 Mo as recommended memory.
Discover how to manage Network

Does the SDK work with Smarfox Server?

Regarding the transfer of poses, it is possible to get the pose in byte[] and apply it through our SDK.
While getting a Pose it is possible to transfer this data through your server and redirect it to the other needed peers.
While other peers receive the pose (byte[]), you can apply the received pose of the peer through our SDK.
The Photon samples are juste exemples of an implementation through a network solution, but can work in a agnostic way through Photon, Unity Networking or even SmartFox Server.


Is the Emote Wheel mandatory with the SDK?

The Emote Wheel is just one of the multiple options we offer to trigger Emotes.
There are other triggering modules available that may better work for your project. You can also create your own ways to trigger Emotes.
Discover all Kinetix Modules

Emote creation

Is it possible to not allow UGC Emote?

Of course! You always chose the Emote Infrastructure modules you activate in your game or virtual world.

How to add an NFT Emote in my game?

Once you have connected your wallet to the SDK, you can choose an Emote in our studio and mint it to get it in your bag. Learn more about this process here.

How to create a UGC Emote NFT ?

To create a UGC Emote NFT, head out to Kinetix Studio and follow the steps associated.
First, learn how to create your UGC Emote from a video file or an URL here.
Once your Emote is ready, head over to our documentation here to learn how to mint an Emote and to retrieve it in your bag from your wallet address.

Account management

How can I clean the Emotes inventory when switching to production ?

When switching to production, you have to request an Unlimited Key (go to Developer Portal for more info). Once you log your Unlimited key in Kinetix SDK, your inventory is automatically cleaned as no Emotes are associated with the new Unlimited key.

How do I deregister Emotes ?

At present, it's not possible to de-associate an emote from a user through our system. This feature will be added very soon.