Cavrnus Unreal API - Types

The header files in the "Types" folder define essential data structures used throughout the Cavrnus Spatial Connector plugin. These data structures provide the foundation for representing and manipulating various entities and concepts within the Cavrnus collaborative environment. They are used extensively throughout the plugin's codebase to manage user interactions, property synchronization, content handling, and communication.


Struct Types:

1. Spaces and Connections:

  • FCavrnusSpaceConnection: Represents a user's connection to a specific Cavrnus space. It stores the connection ID, the local user's connection ID, and the name of the container associated with the local user.

  • FCavrnusSpaceInfo: Stores information about a Cavrnus space, including its ID, name, thumbnail URL, and last access time. This is likely used for displaying and managing spaces in the user interface.

2. Users and Objects:

  • FCavrnusUser: Represents a user within a Cavrnus space. It includes information about whether the user is the local user, the name of their associated properties container, their connection ID, and their connection to the space.

  • FCavrnusSpawnedObject: Represents an object instance spawned within a Cavrnus space. It stores the space connection, the name of the associated properties container, the ID of the operation that created the object, and a pointer to the corresponding AActor instance in Unreal Engine.

3. Property Values:

  • FPropertyValue (within the Cavrnus namespace): This struct is a versatile container for different property types used in the Cavrnus system. It can hold values of various types, including strings, booleans, floats, colors, vectors, and transforms. It also includes a Priority field, which might be used to determine which value takes precedence in case of conflicts.

4. Audio and Video Devices:

  • FCavrnusInputDevice: Represents an audio input device (microphone). It stores the device's name (DeviceName) and a unique identifier (DeviceId).

  • FCavrnusOutputDevice: Represents an audio output device (speaker). It also stores the device's name (DeviceName) and a unique identifier (DeviceId).

  • FCavrnusVideoInputDevice: Represents a video input device (camera). It stores the device's name (DeviceName) and a unique identifier (DeviceId).

5. Remote Content:

  • FCavrnusRemoteContent: Represents metadata about content stored remotely on the Cavrnus server. It includes fields for the content's ID, name, file name, thumbnail URL, and associated tags.

6. Chat:

  • FChatEntry: Represents a chat message within the Cavrnus system. It includes the chat ID, display text, information about the creator (whether local, name, picture URL), creation time, and flags indicating whether the message is complete or was translated.