Additional Info (Unreal Engine)
Relay Net Configuration
In theory you should never need to change these settings. However, if you want to see logs of what the back-end of Cavrnus is doing, you can disable Relay Net Silent, and enable Relay Net Verbose Logging.
Avatars and Co-Presence:
Avatar properties are synchronized the same way in a Cavrnus Space as any other asset. Therefor a pawn or character must, at a minimum, have a SyncTransform component on it to synchronize the User’s movement. The Unique Container Name can be left blank because it will be automatically filled in by the Cavrnus system for each individual user when spawned. In addition to position, avatars can also send & receive other custom properties:
User Color
Left Elbow Transform
Right hand socket
Laser state/color
and more …
Default Pawn Class
Just as any Unreal Engine project, you can define different pawns for the local and remote users. The local avatar is defined in the standard location in Unreal Editor, the Default Pawn Class in the GameMode.
To synchronize a user’s local position to display in other team member’s views, the local player pawn must have a SyncTransform_Character component to post it’s transform matrix to the Journal.
In the image above, the default BP_CavrnusPawn blueprint has been derived to create a custom character pawn. The SyncTransform_Character component is inherited from the parent and can be uniquely configured. Other Cavrnus components include the SyncLaserComponent, SyncPawnColor, and the NameTagWidget components, which appears above the character in the viewport. Each of these are necessary for synchronizing specific properties in the character, and are available in the Cavrnus Spatial Connector plugin folder.
ON THIS PAGE
Next Steps
Your level is now connected to a Cavrnus Space. If you run Play-In-Editor, the level will load into that space and you will be able to see the connection in the Session Analyzer. You’ll have Voice & Video capability, and see a user list with all of the other users in the Space. However, in the Session Analyzer you will only see the user logged in. You won’t see any property updates associated with your level.
Next, we will add No-Code Collaboration Components to automatically synchronize an object's Properties. That way they can be synchronized across multiple connections.
Alternatively, you can read up on more advanced techniques in our Developer Guide, or make calls directly using our API Reference.