Extension of Extension
[This page explains how to extend an existing extension — building new functionality on top of another extension's data assets and systems.]
How It Works
The auto-registering system in Skyreal VR supports layered extensions. You can create a base extension that defines an extension point (a PrimaryDataAsset with the SkrAutoRegisteringAsset interface), and then other extensions can add new data assets that inherit from that base.
Creating an Extension of an Extension
-
Identify the base extension plugin that defines the extension point (e.g.,
SkrBaseExtensionPluginwithBP_ExtensionBaseAsset). -
Create a new extension plugin (e.g.,
SkrExtensionExtensionPlugin) with aRegistrableAssetsdirectory. -
Create a new DataAsset in your plugin that inherits from the base extension's PrimaryDataAsset.
-
Fill the data asset with your custom properties.
Important: During a Skyreal VR session, the base extension plugin must be imported before any plugins that depend on it. Ensure the loading order is correct in your
SkrExtensions.jsonor Marketplace configuration.
Use Cases
-
Adding new command categories to an existing command framework
-
Extending a custom tool system with new tool types
-
Adding new manikin analyzers to the MSD system
-
Creating new environment presets based on a shared environment framework