Developer Documentation
ODIN Is With Us!
Back to Blog

ODIN Is With Us!

Written by Sven Paulsen
06 Jul 2022

Today is the day. After two years of development and more than five months of open beta, 4Players GmbH is pleased to announce the immediate availability of the ODIN Core SDK version 1.0. Major updates to our engine integration plugins for Unity and both Unreal Engine 4 and 5 will be released to production within the next couple of days.

The latest version can be found here:

https://github.com/4Players/odin-sdk/releases

4Players ODIN

ODIN is the result from years of expertise and experience and built from the ground up using the popular Rust programming language. 4Players combines business and industry insight with a very modern technology stack to drive growth for your businesses. We took a lot of effort to make sure developers can focus their time and resources on building the game they envisioned.

Real-time communication is essential for a fun, immersive gaming experience. This is why our dedicated development team is creating a powerful set of tools that make games more immersive, social and interactive. With ODIN, 4Players provides a complete, out-of-the-box solution that has been designed and built from the ground up for gamers, developers and publishers so they don’t need to spend valuable resources designing a comms solution on their own.

Privacy and security is very important to us. ODIN is completely user agnostic and we don’t harvest any data or tell you how things should work or look.

Don’t hesitate and be among the first studios to integrate ODIN today! You can find a set of both both static and dynamic libraries as well as a single C header file in our public repository on Github.

Many thanks to all our partners, beta testers and supporters!

ODIN 1.0 comes with numerous improvements and new features such as:

General

  • Improved overall reliability by adding an internal mechanism to re-establish a connection to the ODIN server on timeouts
  • Updated test console client to properly handle reconnects
  • Removed the internal media ID from the API in favor of media handles (internal IDs can still be retrieved using odin_media_stream_media_id for reference while the media stream is added to a connected room)

New Features

  • Added a generic resampler for situations where your audio pipeline doesn’t support 48 kHz (one resampler instance should be used exclusively per audio stream)

API Changes

  • Added odin_resampler_create
  • Added odin_resampler_process
  • Added odin_resampler_destroy
  • Added odin_room_close to ensure a clean disconnect before calling odin_room_destroy
  • Changed type of OdinReturnCode from unsigned to signed integers
  • Replaced media_id and stream properties with media_handle in Media* event data
  • Removed unused None event tag

Bugfixes / Improvements

  • Fixed a bug where odin_audio_mix_streams was only outputting the last media stream
  • Fixed a possible deadlock when calling API functions within event handlers
  • Added missing null terminator to room ID and customer strings