Skip to main content
Version: Next

SkyRealSDK (aka SkrSdk)

SkyReal SDK is a plugin that exposes to blueprint internal SkyReal data model and functions to manipulate directly the software within an extension.

Plugin dependencies

SkrSdk plugin depends on plugins:

  • SkrDataModel
  • SkrUtilities

Plugin structure

SkyReal is composed of a set of manager classed that can be used as entry point of a lot of differents features. Based on Unreal architecture, these managers are accessible inside the Unreal datamodel that has been overriden by SkyReal. To dig into what's possible inside SDK, use the Unreal blueprint search system and look for the the "SkrSdk" category. Every functions of SkyReal are put away here.

Search in SDK

SkrSdkGameState

The SkrSdkGameState is the class used by SkyReal to manage behaviour not shared on the network. Here is a sample code exploring what can be found inside:



It contains :
  • SdkGroupManager A manager dealing with the group of part inside SkyReal. This can be used to create/destroy select/deselect group at runtime.

  • SdkIsolationManager A manager used to deal with isolation mode (Isolate command) It can be used to enter or exit isolation mode at runtime and check if a part is currently isolated.

  • SdkVirtualProductStructureManager A manager used to deal with product structure or working structure (Working tree). It can be usefull to update the product structure after have done some manipulation over hierarchical parts. It's also usefull to iterate throught node of a given working structure.

SkrSdkGameInstance

The SkrSdkGameInstance is the class used by SkyReal to save session properties like renreding, user informations, map informations, ... Most of the time, it correspond to informations used to boot the map, to have accurate info, either use the commands or runtime inside the pawn or the player controller. Here is a sample code exploring what can be found inside:



SkrSdkPawn

The SkrSdkPawn is the class that reference one user of SkyReal. It contains every informations you need to interact with the "body" of the user (like the manikin for example). Here is a sample code exploring what can be found inside:



  • SkrSdkControllerTracker It's also realy usefull to access to importants components like Right/Left controller that provide a lot of functions used to drive local user controler (dont try these functions onto other collaborative user that you do not own) Here is a sample code exploring what can be found inside SkrSdkControllerTracker:

SkrSdkPlayerController

The SkrSdkPlayerController is the class that reference one user of SkyReal (the brain part). It contains every informations you need to interact with the behaviour of the current user. It contains a lot of manager and function usefull to customize exerience. Tu access it easily, we have created a function called "GetLocalPlayerController" thar retreive directly a SkrSdkPlayerController to avoid casting Unreal object.

  • Navigation SkrSdkPlayerController can be use to interact with SkyReal navigation system. It's mostly use for enable or disable navigation to fully replace it or to force a navigation mode over others. Here is a sample code exploring what can be found inside:

  • Desktop UI's (Left/Right/Navigation menu) SkrSdkPlayerController can be use to interact with SkyReal desktop UI. It can either be used to force right menu state to change or to choose witch UI is visible. It can be used to replace one desktop menu or another with a custom one.

  • SkrSdkVRManager SkrSdkVRManager can be use to control VR state and device. It's also used to retreive all trackers from the system that can either be VR or VRPN trackers. Last but not least, it contains the Bracelet UI that can be driven by blueprint.

    One of the most comon used feature is the OnVRStatusChanged event that can be used to adapt an extension behaviour givent the VR state of the user. Controller and head ca be retreived via the ASkrSdkTrackerManager but it's more comon to use the SkrSdkControllerTracker inside the SkrSdkPawn instead. It will provite a lote more fonctionalities base on the kind of device connected.
  • SkrSdkSelectionManager SkrSdkSelectionManager can be use to control selection (desktop or VR). Selection can be enable/disable from the player controller if the extension needs to use the controller trigger for another reason. Inside the manager, event and fonctions that control the selected object are available. Every SkrObject of SkyReal can be selected. To stash push and pop selection, the function "Stash selection" can be used.

  • SkrSdkCommandManager SkrSdkCommandManager can be used to control the SkyReal command system. A command is composed of a blueprint that contains the behaviour, the description that contains the icons and description text, and the params that are used to initialize the command. Most of the time, CreateAndLaunchCommandWithDefaultParams will be use to build a command from it's description, but for some use case it can be usefull to have full control over the creation system. Both scenario can be done within the SkrSdkCommandManager.

  • SkrSdkInputManager SkrSdkInputManager is the class that contains all the inputs event of SkyReal (it will be deprecated in 1.17, replaced by the SkrInputPlugin). It can be used to bind a specific event to an event (like the click delegate)

  • Other SkrSdkPlayerController also contains a lot of other tiny functions like taking screenshots of the screen on a specific location or control the sound of teamspeak. It can also be used to force player pawn to move to fit parts or to raise vibration inside the controllers.