ðŸĪ·SDK or API: what to choose

To integrate the User-Generated Emote feature, you can choose between the Kinetix SDK or the Kinetix APIs. This page will help you find out which one suits your needs best.

Summary

  1. API & SDK: functionalities comparison

  2. Additional work that remains once you've integrated the API or the SDK

  3. Pre-requisites to integrate one or the other

  4. Next steps to integrate

1. API VS SDK: functionalities comparison

With who Kinetix servers communicate:

With the SDK, the request (for exemple the video to process) will come directly from the end user.

For the API, Kinetix will receive these requests from your game server that will take them from the users.

Having the SDK directly communicating with players' clients offers strong benefits:

  1. Reduced Latency: Direct communication between the Kinetix servers and the players' clients can significantly reduce latency. Without a game server acting as an intermediary, data travels a shorter path, resulting in faster response times and a smoother user experience, especially crucial for real-time interactions and animations.

  2. Lower Server Load: By bypassing the game server, you reduce its workload. This can lead to lower operating costs, as the game server has fewer data processing tasks, potentially decreasing the need for extensive infrastructure and reducing the likelihood of bottlenecks during peak usage times.

  3. Simplified Architecture: Direct SDK integration simplifies the overall system architecture. Fewer components in the communication chain mean there are fewer points of failure, which can enhance system reliability and ease the maintenance and troubleshooting processes.

The AI runs on Kinetix's servers

In both cases, the compute of the video is run on Kinetix's servers, never on your servers nor the end-user's computer.

Optimized Retargeting Technology

In both cases, you will be able to have the user-generated emotes directly retargeted on your users' avatar(s). To do so, you have to upload your avatars on your Developer Portal account.

By using the SDK, you also have access to a real time retargeting that can be used to play an emote that is not known yet by our system.

Learn more about uploading your avatars on the Developer Portal: Avatar Upload

Video Uploading Management

If you integrate the SDK, you will be able to access our pre-built mobile Progressive Web App (PWA). Players can access the PWA on their phone directly from the game by scanning a QR code. The PWA allows players to upload the videos they want to turn into an emote and send it to Kinetix. You can modify the UI/UX of the PWA as you want.

If you integrate our technology with the API REST method, you will have to build the PWA on your own.

Management of Emote Networking

Once the video has been transformed into an emote thanks to our technology, it is vital to send that emote in real time to every other users that will need to see it. This is taken care of in an optimized flow in our SDK, but that will need to be re implemented if you choose to integrate the API.

The networking system included with the SDK includes:

  1. RAM optimizations:

    1. Cloud storage: Since players cannot store ALL the user-generated emotes played by all the players, emotes but be stored on a cloud server.

    2. Emote streaming: emotes are streamed into the game, not to overload players' RAM when a lot of user-generated emotes are played simultaneously. Emote streaming consists in dividing the emote files in small chunks, to allow players to download emotes chunk-by-chunk, instead of downloading multiple entire emote files. Downloading small chunks of multiple different emotes allow players to see multiple emotes simultaneously without any lag.

  2. Server & player clients transfers optimizations:

    1. Send only the files players need: sending EVERY generated emote file to EVERY player would result in unreasonable amounts of data transferred. The SDK only sends the emote files when the players need it. For instance, when a player plays a user-generated emote, only him and the players nearby will stream-download the required emote file.

    2. Smart caching: our SDK includes optimizations to allow players to store on their RAM some emotes that are quite likely to be played again, in order to avoid multiple transfers of the same emote file in a short range of time.

  3. In-game experience optimization: emote streaming and smart caching enable players to create, play, and see multiple user-generated emotes simultaneously. Without these two combined bricks, it's very unlikely that players would not experience lags and delays when a very high number of emotes are played in the same time in a local room (unless there's a way to pre-load emote files in your game).

If you choose to integrate the User-Generated Emote feature using the Kinetix API method, it is likely that you have to replicate some parts of the SDK's networking system, if not all of it.

Feel free to contact Ben if you are not sure about what networking system your game needs.

Learn more about Kinanim (Emote streaming)

Emote Moderation Management System

Kinetix helps you take care of the moderation of User-Generated Content added to your game.

Kinetix designed two moderation layers to ensure optimal safety for your game:

  1. AI Moderation: the videos sent by the players are analyzed with AI. Any unwanted movement will be removed when the emote file is generated.

  2. UGC Management platform: on the Kinetix Developer Portal, once the User-Generated Emote feature is integrated, you will be able to manage the emotes generated by your players.

Integrating the User-Generated Emote feature with the SDK or the API will both let you access the UGC Management platform we have designed on the Developer Portal.

Only games that integrated the Kinetix SDK can access the AI Moderation for now.

Learn more about our moderation system: UGC Moderation

2. Additional work that remains once you've integrated the API or the SDK

The SDK does not require any additional work from you for the User-Generated Emote to work in your game: the SDK is a complete infrastructure with prebuilt solutions. You may still want to customize the UI/UX, obviously.

After you've integrated the API, you still have to handle:

  1. The system to allow the user to upload the video to be turned into an emote Video Uploading Management

  2. The network system that will allow everyone in the room to see the emote in real time Management of Emote Networking

3. Pre-requisites to integrate Kinetix's User-Generated Emote Feature with the SDK or API

4. Next steps to integrate the SDK or the API

Follow the flow from these sections to integrate the SDK or API.

ðŸĪĐpageIntegrate Kinetix SDK😍pageIntegrate Kinetix API

Unsure about the most relevant integration method? Let's chat!

If you need help to choose between the SDK and the API, do not hesitate to contact our technical team! You can reach out to Ben, he will get quickly back to you!

Last updated