The core header files in the Source/Public folder define the core structure and functionality of the Cavrnus Spatial Connector plugin for Unreal Engine.
CavrnusConnectorSettings.h:
Purpose: This file defines the
UCavrnusConnectorSettings
class, which stores the configuration settings for the plugin.Key Elements:
AutoStartConnector
: Determines whether the connector should automatically start.RelayNetPort
,RelayNetIPAddress
,RelayNetExecutableRelativeLocation
: Settings for the RelayNet executable, the foundation for Cavrnus real-time collaboration.RelayNetSilent
,RelayNetVerboseLogging
,RelayNetLogOutputToFile
: Options for controlling the behavior and logging of RelayNet.
CavrnusFileUtilityLibrary.h
:
Purpose: This file declares the
UCavrnusFileUtilityLibrary
class, a Blueprint function library that provides utility functions for file operations.Key Elements:
OpenFileDialog
: Opens a file dialog for selecting files.OpenFolderDialog
: Opens a folder dialog for selecting folders.
CavrnusFunctionLibrary.h
:
Purpose: This is the main Blueprint function library for interacting with the Cavrnus Spatial Connector. It provides a wide range of functions for authentication, space management, property manipulation, permissions, user interactions, and more.
Key Elements:
Authentication functions (
AuthenticateWithPassword
,AuthenticateAsGuest
, etc.).Space management functions (
FetchJoinableSpaces
,JoinSpace
,ExitSpace
, etc.).Property functions for various data types (color, bool, float, string, vector, transform).
Functions for handling permissions, spawned objects, space users, voice and video, and remote content.
CavrnusPropertiesContainer.h
:
Purpose: This file defines the
UCavrnusPropertiesContainer
component, which is attached to actors to manage property containers within the Cavrnus system.Key Elements:
ContainerName
: Stores the name of the container.
CavrnusSpatialConnector.h
:
Purpose: This file defines the
ACavrnusSpatialConnector
actor, which is the main entry point for the plugin's functionality.Key Elements:
MyServer
: The address of the Cavrnus server.Various configuration options for authentication, space joining, avatar management, and UI elements.
CavrnusSpatialConnectorSubSystem.h
:
Purpose: This file defines the
UCavrnusSpatialConnectorSubSystem
andUCavrnusSpatialConnectorSubSystemProxy
classes, which manage the lifecycle and interactions with the Cavrnus Spatial Connector.Key Elements:
UIManager
: A class for managing UI widgets within the Cavrnus system.Functions for authentication, space joining, and handling callbacks.
General Notes:
The plugin heavily relies on delegates (callbacks) for asynchronous operations and event handling.
The
CavrnusFunctionLibrary
is the primary interface for Blueprint users to interact with the plugin.The plugin seems to have a robust system for managing properties, including different data types and the ability to define default values and bind to property updates.
The plugin includes features for user management, voice and video communication, and remote content handling, indicating its focus on collaborative experiences.