Developer Documentation

Classes

The Unity SDK consists of these classes:

Unity Components

You typically interact with these components directly in the Unity Editor. Check out the manual on how to use these components in the Unity editor.

ComponentDescription
MicrophoneReaderHandles microphone input data and sends input to ODIN
OdinBanner
OdinEditorConfigUnityEditor UI component for instance config of Odin
OdinHandlerThe OdinHandler class is the global ODIN manager within Unity. It’s built as a singleton. Create an empty game object in your scene and add this script to it. OdinHandler uses DontDestroyOnLoad to keep the singleton alive even if the scene changes.
PlaybackComponentHandles the Playback for received ODIN audio data.
PlaybackStats

Utility Classes

Many of these classes are used internally or you rarely need to work with these.

ComponentDescription
ConnectionStateChangedEventArgsArguments for ConnectionStateChanged events in the current room
ConnectionStateChangedProxyThis class provides the base functionality for UnityEvents based Room. A persistent callback that can be saved with the Scene. Unity Inspector event wrapper (UnityEvent)
MediaActiveStateChangedEventArgsArguments for MediaActiveStateChanged events in the current room
MediaActiveStateChangedProxyThis class provides the base functionality for UnityEvents based Room. A persistent callback that can be saved with the Scene. Unity Inspector event wrapper (UnityEvent)
MediaAddedEventArgsArguments for MediaAdded events in the current room
MediaAddedProxyThis class provides the base functionality for UnityEvents based Room. A persistent callback that can be saved with the Scene. Unity Inspector event wrapper (UnityEvent)
MediaCollectionInternal collection of available media streams
MediaRemovedEventArgsArguments for MediaRemoved events in the current room
MediaRemovedProxyThis class provides the base functionality for UnityEvents based Room. A persistent callback that can be saved with the Scene. Unity Inspector event wrapper (UnityEvent)
MediaStreamBase stream
MessageReceivedEventArgsArguments for MessageReceived events in the current room
MessageReceivedProxyThis class provides the base functionality for UnityEvents based Room. A persistent callback that can be saved with the Scene. Unity Inspector event wrapper (UnityEvent)
MicrophoneStreamRepresentation of a write only audio stream
NativeBindingsC# bindings for the native ODIN runtime
OdinClientClient Wrapper for ODIN ffi OdinLibrary
OdinDefaultsODIN default configuration
OdinExceptionException type for the native ODIN runtime
OdinLibraryMain lib entry class
OdinLibraryParametersA set of values that are used when initializing the native ODIN runtime
OdinMediaConfigODIN audio stream configuration
OdinRoomConfigAudio processing configuration of an ODIN room
PeerClient/Remote peer
PeerCollectionIntern peer dictionary
PeerJoinedEventArgsArguments for PeerJoined events in the current room
PeerJoinedProxyThis class provides the base functionality for UnityEvents based Room. A persistent callback that can be saved with the Scene. Unity Inspector event wrapper (UnityEvent)
PeerLeftEventArgsArguments for PeerLeft events in the current room
PeerLeftProxyThis class provides the base functionality for UnityEvents based Room. A persistent callback that can be saved with the Scene. Unity Inspector event wrapper (UnityEvent)
PeerUserDataChangedEventArgsArguments for PeerUserDataChanged events in the current room
PeerUserDataChangedProxyThis class provides the base functionality for UnityEvents based Room. A persistent callback that can be saved with the Scene. Unity Inspector event wrapper (UnityEvent)
PlaybackStreamRepresentation of a read only audio stream
RoomMain Room
RoomCollectionIntern room dictionary
RoomConfigA set of values that are used when creating Rooms
RoomJoinEventArgsArguments for RoomJoin events right before the room is joined
RoomJoinProxyThis class provides the base functionality for ODIN SDK UnityEvents. A persistent callback that can be saved with the Scene.
RoomJoinedEventArgsArguments for RoomJoined events when the room was joined successfully
RoomJoinedProxyThis class provides the base functionality for ODIN SDK UnityEvents. A persistent callback that can be saved with the Scene.
RoomLeaveEventArgsArguments for RoomLeave events right before the room handle is destroyed
RoomLeaveProxyThis class provides the base functionality for ODIN SDK UnityEvents. A persistent callback that can be saved with the Scene.
RoomLeftEventArgsArguments for RoomLeft events when the room handle was destroyed
RoomLeftProxyThis class provides the base functionality for ODIN SDK UnityEvents. A persistent callback that can be saved with the Scene.
RoomUserDataChangedEventArgsArguments for RoomUserDataChanged events in the current room
RoomUserDataChangedProxyThis class provides the base functionality for UnityEvents based Room. A persistent callback that can be saved with the Scene. Unity Inspector event wrapper (UnityEvent)
UnityCreatedMediaObject
UnityDeleteMediaObjectUnity Inspector event wrapper (UnityEvent)
UserDataOdin UserData helper for marshal byte arrays
Utility