Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The core header files in the Source/Public folder define the core structure and functionality of the Cavrnus Spatial Connector plugin for Unreal Engine.


General Notes:

  • The CavrnusFunctionLibrary is the primary interface for Blueprint users to interact with the plugin.

Headers

CavrnusSpatialConnector.h

  • Purpose: This file defines the ACavrnusSpatialConnector actor, which is the main entry point for the plugin's functionality.

  • Functions:

    • InitializeComponent: Called when the component is initialized, allowing for custom initialization logic..

  • Key Elements:

    • MyServer: The address of the Cavrnus server.

    • Various configuration options for authentication, space joining, avatar management, and UI elements.

CavrnusConnectorSettings.h:

  • Purpose: This file defines the UCavrnusConnectorSettings class, which stores the configuration settings for the plugin.

  • Functions:

    • PostInitProperties: Initialization function for the Connector.

    • GetRelayNetOptionalParameters: Generates a string representing the verbose parameter list for CavrnusRelayNet.

    • PostEditChangeProperty: Called when an edit is made to the settings (Available only in the editor)

  • 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.

...

...

  • Purpose: This file

...

  • defines the UCavrnusSpatialConnectorSubSystem and UCavrnusSpatialConnectorSubSystemProxy classes, which manage the lifecycle and interactions with the Cavrnus Spatial Connector.

  • Key Elements:

...

OpenFileDialog: Opens a file dialog for selecting files.

...

    • UIManager: A class for managing UI widgets within the Cavrnus system.

    • Functions for authentication, space joining, and handling callbacks.

CavrnusPropertiesContainer.h:

  • Purpose: This file defines the UCavrnusPropertiesContainer component, which is attached to actors to manage property containers within the Cavrnus system. Containers are a way to uniquely identify synchronized values in the Journal of a Cavrnus Space.

  • Functions:

    • InitializeComponent: Called when the component is initialized, allowing for custom initialization logic..

  • Key Elements:

    • ContainerName: This property stores the name of the container, which can be used to identify it within the Cavrnus system.

CavrnusFunctionLibrary.h:

  • Purpose: This is the main Blueprint function library for interacting with the Cavrnus Spatial Connector. It provides a wide range of static utility 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: (Bool, Float, String, Vector, Transform, Color).

    • Permission functions: (BindGlobalPolicy, BindSpacePolicy).

    • Spawned Object functions: (SpawnObject, DestroyObject).

    • Space User functions: (AwaitLocalUser, GetCurrentSpaceUsers, BindSpaceUsers, etc.).

    • Voice and Video functions: (SetLocalUserMutedState, FetchSavedAudioInput, UpdateAudioInput, etc.).

    • Remote Content functions: (FetchFileById, FetchAllUploadedContent, UploadContent, etc.).

    • Chat functions: (FetchFileById, FetchAllUploadedContent, UploadContent, etc.).

    • Functions for handling permissions, spawned objects, space users, voice and video, and remote content.

...

CavrnusFileUtilityLibrary.h:

  • Purpose: This file

...

Functions:

...

  • declares the

...

  • UCavrnusFileUtilityLibrary class, a Blueprint function library that provides utility functions for file operations.

  • Key Elements:

  • ContainerName: Stores the name of the container.

  1. 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.

  1. CavrnusSpatialConnectorSubSystem.h:

  • Purpose: This file defines the UCavrnusSpatialConnectorSubSystem and UCavrnusSpatialConnectorSubSystemProxy 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.

...

    • OpenFileDialog: Opens a file dialog for selecting files.

    • OpenFolderDialog: Opens a folder dialog for selecting folders. 

Table of Contents
stylenone