Disclaimer
This API reference is still in early developmental stages. As such, some information may be missing or out of date. Feel free to refer to this documentation as a low level index of Engine classes and functions. However please reference the latest code for a complete understanding of functionality and performance.
Getting Started
Orientation
Real-time applications built in Unity can be connected to the Cavrnus platform by adding the Cavrnus Plugin to their Package Manager via the git link: https://github.com/Cavrnus-Inc/cavrnus-sdk.git
There are multiple layers of convenience tools to make it easier for you to set up and get going with Cavrnus with little-to-no coding required. However, all of those tools are built using the functions and types below. For improved control and performance, any advanced user of Cavrnus can call them.
CAVRNUS FUNCTIONS
Core
Sets up all static helpers and systems required for Cavrnus to run |
Authentication
Checks if you are logged in | |
Gets user credentials, allowing you to join valid spaces and make other requests | |
Creates a guest user account with a given name and joins as that user | |
Throws an even when user authentication is complete |
Space Functions
Gets a list of all current spaces which can be joined | |
Triggers when spaces become available to you that you can join, or when their metadata changes | |
Checks if there is any active connection to a space | |
Connects to a Space; joining voice & video and recieving/processing the journal | |
Triggers when you begin attempting to join a space, returning the ID of the space being joined | |
Triggers immediately if you are already in a space, otherwise triggers as soon as you connect | |
Disconnects you from a given space. You will stop recieving property updates, and lose user & voice connections |
Color Property Functions
Defines what the application will show if a new prop value has not been assigned | |
Gets the current property value, whether the default or the one currently set | |
Triggers an Event when the property changes, plus an inital event when first bound | |
Begins a temporary property update. This can be updated with UpdateWithNewData() This will show for everyone in the space, but will not be saved unless you call Finish(). | |
Updates the property value at the given path and synchronizes the data to the server |
Bool Property Functions
Defines what the application will show if a new prop value has not been assigned | |
Gets the current property value, whether the default or the one currently set | |
Triggers an Event when the property changes, plus an inital event when first bound | |
Begins a temporary property update. This can be updated with UpdateWithNewData() This will show for everyone in the space, but will not be saved unless you call Finish(). | |
Updates the property value at the given path and synchronizes the data to the server |
Float Property Functions
Defines what the application will show if a new prop value has not been assigned | |
Gets the current property value, whether the default or the one currently set | |
Triggers an Event when the property changes, plus an inital event when first bound | |
Begins a temporary property update. This can be updated with UpdateWithNewData() This will show for everyone in the space, but will not be saved unless you call Finish(). | |
Updates the property value at the given path and synchronizes the data to the server |
String Property Functions
Defines what the application will show if a new prop value has not been assigned | |
Gets the current property value, whether the default or the one currently set | |
Triggers an Event when the property changes, plus an inital event when first bound | |
Begins a temporary property update. This can be updated with UpdateWithNewData() This will show for everyone in the space, but will not be saved unless you call Finish(). | |
Updates the property value at the given path and synchronizes the data to the server |
Vector Property Functions
Defines what the application will show if a new prop value has not been assigned | |
Gets the current property value, whether the default or the one currently set | |
Triggers an Event when the property changes, plus an inital event when first bound | |
Begins a temporary property update. This can be updated with UpdateWithNewData() This will show for everyone in the space, but will not be saved unless you call Finish(). | |
Updates the property value at the given path and synchronizes the data to the server |
Transform Property Functions
Defines what the application will show if a new prop value has not been assigned | |
Gets the current property value, whether the default or the one currently set | |
Triggers an Event when the property changes, plus an inital event when first bound | |
Begins a temporary property update. This can be updated with UpdateWithNewData() This will show for everyone in the space, but will not be saved unless you call Finish(). | |
Updates the property value at the given path and synchronizes the data to the server |
Permissions
Binds an event to throw when a policy is/isn't allowed for the user (returns false until policies are fetched & resolved) | |
Binds an event to throw when a policy is/isn't allowed for the user in a given space (returns false until policies are fetched & resolved) |
Spawned Objects
Instantiates the given object with no set properties (note you will need to pull the Container ID out of the Spawned Object and assign property values to it). | |
Destroys the given object. |
Space Users
AwaitLocalUser | Throws an event when the local CavrnusUser arrives in the space |
GetCurrentSpaceUsers | Gives the list of current users in a space |
BindSpaceUsers | Triggers whenever users join or leave a given space |
BindUserVideoFrames | Throws an event with the user's current stream image |
Voice and Video
SetLocalUserMutedState | Set my muted state |
SetLocalUserStreamingState | Set my streaming state |
GetCurrentAudioInputDevice | Gets the current microphone |
FetchAudioInputs | Gets available microphones |
UpdateAudioInput | Sets which microphone to use |
FetchVideoInputs | Gets available camera/stream sources |
UpdateVideoInput | Sets which camera/stream source to use |