Continuous development
Over the past several versions, the ODIN Voice Chat SDK has seen a wave of improvements focused on performance, flexibility, and deeper Unreal Engine integration. From enhanced audio quality and loopback support to robust device handling and expanded compatibility with UE 5.5, each update has refined the developer and end-user experience. Whether you’re building immersive in-game communication or a scalable voice solution for simulations or virtual worlds, these updates bring increased control, reliability, and quality to your audio pipeline. Let’s walk through what’s new and why it matters.
Unreal Engine 5.6 and ODIN Voice v1.11.2
We improved performance by pushing audio data now in a separate audio push thread. After updating the Unreal plugin to use the latest native Odin version, we also refactored internal subsystems and increased stability when using APMs (Audio Processing Modules) for reported edge cases. Also, several bug fixes were incorporated for situations with multiple audio captures, activating the pause function or using Apple’s AirPods on Mac platform.
Many developers might be interested to know that we are now officially supporting Unreal Engine 5.6. You can download our latest version v1.11.2 of the ODIN Voice Unreal plugin from fab or from GitHub.
What is ODIN !?
For more details on ODIN and how it powers real-time, low-latency voice communication across platforms, visit the official ODIN Voice Chat product page. There you’ll find in-depth documentation, platform integration guides, and everything you need to get started — whether you’re working in Unreal, Unity, web, or native environments. Dive in and discover how ODIN can bring crystal-clear, scalable voice to your project.
Overview of the last major version changes
Versions 1.10.0 to 1.10.2
… focused on improved audio stream handling, cleaner device management, and general stability updates. The gain control system was simplified, and internal components were refined for better performance and compatibility.
Versions 1.9.0 to 1.9.3
… introduced enhanced audio device control, new loopback playback capabilities, and better runtime configurability. Stability and safety were improved with stricter thread management, while new interface support and settings exposed more control to developers.
Versions 1.8.3 to 1.8.15
… focused on audio quality improvements, expanded Unreal Engine support, and greater flexibility in audio input. Stability was enhanced across platforms, with better error handling, improved echo cancellation, and new utility features. Device management and async behavior were also made more robust.
Complete changes in detail going back till v1.8.4
v1.11.2 Latest
Fixes
- Fixed an issue with capturing Audio from Air Pods on Mac
v1.11.1
Fixes
- Fixed an issue when using multiple UAudioCapture objects at the same time
- Corrected SetIsPaused logic in Audio Capture
v1.11.0
Changes / Improvements
- Pushing audio data is now performed in a seperate audio push thread
- Renamed internally used subsystems to better reflect functionality
- Improved submixer shutdown for echo cancellation. This should handle rare crashes during development.
- Updated Odin Native version
v1.10.2
Changes
- Fixed issue with Unreal Audio Capture Implementation not returning Device Ids on some Devices and UE4.X, aborting automatic device selection
- It is now possible to connect multiple Odin Synth Components to the same Playback Media Stream, without resulting in undersampling
- Improved Submix Listener cleanup
- Changed log verbosity where needed
v1.10.0
Changes
- Gain Controller is now controlled using an enum. Can now choose between “None”, “V1” and “V2”.
- Removed Pre Amplifier APM Setting
- Updated native Odin binaries
- Updated pointer references in SynthComponent
- Updated cleanup procedure in OdinRoom
v1.9.3
Changes
- Can now set the Token Life Time when generating room tokens
- Updated comments of apm config structure
- Exposed current selected device and default device info in OdinAudioCapture
- Exposed StartCapturing success result to Blueprints in OdinAudioCapture
- Fixed issue with platform definitions in v1.9.2
v1.9.1
Added
- Added new Odin Audio Generator Loopback Component, which allows loopback of generated audio, such as voice capture, in the game.
- Can now switch to the System’s Default Capture Device by calling ChangeToDefaultCaptureDevice on the OdinAudioCapture object.
- Added possibility to change Global Min Pitch and Global Max Pitch values for the Loopback playback to resample mismatch between capture and playback correctly. Use the config file in Odin/Config/Odin.ini to change the values.
Improvements
- Capture Device Disconnect Recognition will now also notice if the format of a capture device has been changed and automatically reconnect
v1.9.0
Added
- Added IOdinAudioControl and implemented Interface in OdinAudioCapture and OdinCaptureMedia. The interface defines the Get/SetIsMuted and Get/SetVolumeMultiplier functions for both classes. Interface is also used in the PixelStreamingGenerator implementation.
Changes / Improvements
- Deprecated Async GetCaptureDevices and ChangeCaptureDevice functions due to non-thread-safe code in the Unreal Audio Capture implementation
- Added checks to ensure non-thread-safe functions can only be called on Game Thread
- Deprecated Get/SetIsPaused functions of OdinAudioCapture
1.8.15
Changes
- Updated Odin initialization settings to use 48khz stereo instead of 48khz mono. This should solve issues with sound quality on some devices.
- Audio Capture Mono Mixing is now disabled by default
1.8.14
Added
- Now compatible with UE 5.5
Changed
- Improved error handling in OnGenerateAudio
- Fixed issue with compilation on Mac for Unreal Versions 5.1 and below
1.8.13
Added
- Odin Audio Capture: Can now deactivate automatic device disconnect recognition (i.e. to recognize when a player removes a USB microphone). Could be relevant on mac, as moving an application window on Mac can lead to very high frame time spikes, making a false positive more likely
- Odin Synth Component: Added logging to the GenerateAudio code, if odin_audio_read_data doesn’t work. Requires Log Verbosity Level “Verbose”
Changes
- Will now use default Odin initialization, making initialization independent of whether Unreal Audio Engine is enabled or not
Fixes
- Odin Audio Capture: increased time before a device disconnect will be recognized, this will help avoiding false positives.
- Odin Capture Media: Fixed an issue where the media was not correctly reset, if the channel count changed. Also avoids calling the reset stream function multiple times when detecting a situation where we have to reset
1.8.12
Improvements / Bugfixes
- Updated Destroy Room Handle logic to avoid logging errors when provided with invalid Room Handles. This will also remove Error Logs during the Packaging Process.
- Echo Cancellation will now use the correct Audio Device for Submix Listening. This will fix an issue with Echo Cancellation not being active after changing APM Settings or in certain scenarios after loading a new level.
- Generally improved error handling and error logging throughout the plugin
Changes
- Can now use UAudioGenerator parent class for generating audio, instead of having to use UAudioCapture. This allows developers more flexibility to i.e. use soundfiles as input to an Odin audio capture stream
- Can now enable or disable mixing multiple channels into one mono channel on UOdinCaptureMedias before sending audio data to Odin.
- Echo Cancellation: APM Stream Delay is now initialized to 200ms when no custom value was set
- Added missing documentation to public api
1.8.11
Fixed
- Fixed issue occurring during User Data decoding in UE4.27
Added
- Added convenience function to access Playback Media stream generating data on an Odin Synth Component
1.8.10
Improvements / Bugfixes
- Improved Error Handling
- Improved Error Logs and Feedback
- Add Media is now performed on background thread
- Fixed String Casting and conversion
1.8.9
Improvements / Bugfixes
- Updated Odin Synth Component to restart automatically after a Seamless Server Travel
- Fixed and improved error reporting of the Remove Media from Room Async function
1.8.8
Improvements / Bugfixes
- Now allows disconnecting events to be fired, when manually calling destroy local room handle
- OdinRoom now recognizes reconnects after loosing connection temporarily and automatically sets up Capture Stream again.
- Fixed broken blueprint nodes issue, due to late loading of the plugin
New Features
- Added newer Room State Changed Event to also broadcast reason for disconnect. Old Event is marked as deprecated.
- Added IsConnected Function to Odin Room object
1.8.7
New Features
- Added support for Unreal Engine 5.4 releases
Bugfixes / Improvements
- Changed access to UOdinRoom references to avoid potential crashes with async event handling
1.8.6
Bugfixes / Improvements
- Added world validity checks for async events synchronizing to game
v1.8.5
General
- Core SDK has been updated to version 1.6.5 (details)
Bugfixes / Improvements
- Fixed build issues on iOS with Unreal Engine 5.3
1.8.4
Bugfixes / Improvements
- Fixed an issue where echo cancellation did not work on iOS and Android