Control Panel Configuration
Last updated
Last updated
Experimental - Customers are encouraged to test and use this feature in their experiences, but it may still require some additional support
To help Directors during live events and the QA team while testing features, we are looking at having options for control panels which can be used to setup the control panel environment in a particular way:
A control panel handler that directors can use to open and close relevant panels.
Save and load control panels so directors can keep their control panel customisations.
High level vs. low level control panels architecture.
Capabilities.ControlPanels.Enabled is used to allow access to control panels. Please add this to any roles that require the ability to click control panels to open them.
Please do not use this system if you open control panels by clicking them. This is only meant for control panels which open up automatically for Directors.
The actor BPM_ControlPanelsHandler
must be placed in a level or spawned on the server at runtime.
Any control panel actors that you wish to use as a Director (other than this one) must have a DirectorPanel actor tag.
Add the Capabilities.ControlPanels.CanUseControlPanelHandler gameplay tag to any Role which you would like to handle this system.
Outdated reference: Capabilities.ControlPanels.CanUseControlPanelHandler is no longer used in MSquared after v22. If you still use this you may need to re-add the capability to relevant roles or consider a different gating mechanism
Spawning the control panel widget itself can be done in many ways. The quickest way is by following Option 1 below. If you have a specific way of spawning control panels, e.g. via the Director’s pawn once EventPossessed
is called, you can handle the spawning for this control panel there by ensuring it only spawns this one, and then allowing you to handle the rest of the control panels via this system.
You will need to enable the "AutoOpen" property on the ControlPanelProvider component on your actor. You will also need to ensure you have completed the initial setup conditions above.
Whichever blueprint that holds the logic for spawning control panels for Directors will need to now only spawn this control panel and not others. You will also need to ensure you have completed the initial setup conditions above.
The example below only spawns this control panel if the live config value is true, otherwise it spawns the usual control panels for Directors. This is a made up live config value where a new one will need to be added to the relevant project’s live config JSON file. You can also do a check against whether the player character has the relevant Capability Tag Capabilities.Director.UseControlPanelHandler.
In the Details panel under the Config section for this actor, you can set up different Sets of control panels for Directors to easily open up without needing to select each one individually in the drop down menu. Sets are only used for spawning, de-spawning and changing the colour of the control panels.
Each Set should include a set name and an array of what control panels you want to spawn. The array of control panels takes in Morpheus Actors as not all control panels derive from BPM_ControlPanelBase
. There is also an editor function called CheckSetsHaveDirectorPanelTagExternal()
to check whether the control panels added to the array have the correct tag DirectorPanel. If you forget to do this check, it will automatically ignore that control panel.
This feature allows Directors to spawn and de-spawn all available control panels at once.
Once you have set up Sets of control panels, where you can learn how to from this document: Setting Up Sets, your sets will be available where you can spawn, de-spawn and choose the colours for all the control panels in a set.
This part of the control panel, holds all the available settings for for each control panel.
Spawn/De-spawn
Collapse/Open-up
Dock Left/Right
Colours
Slot Position
Directors also have the option to save their control panel settings to their M2_Connect Account, where they will be able to load up their control panel environment between game sessions/live events.
To ensure these settings are correctly saved, the Director must use the same M2_Connect Account and have all control panel names properly set up via the Control Panel Register Component..