LogoLogo
What's new?StatusMSquared
  • Morpheus Platform Documentation
  • What is Morpheus Platform?
    • Glossary
    • Interoperability
    • Support
    • EULA
  • Firewall Problems
  • CREATION
    • Unreal Development
      • Get Started
        • Download the Editor
        • Upload Content
        • Creating your Own Map
        • Morpheus Base Project
        • Differences from Unreal
          • Character Configuration
        • Morpheus Networking
          • Introduction to Morpheus Networking
          • Network Levels
          • Replicated Properties
          • RPCs
          • Morpheus Render Targets
          • Morpheus Array
          • Networking FAQ
          • Replicating Sublevels
      • Editor Versions
      • Performance Guarantees
      • Features & Guides
        • Example Plugin
          • Nameplates
          • In-Game Roles
          • Resizing
        • Actor Pooling
        • Audio
        • Avatars
          • Creating an Avatar
          • Attachments
            • MML Attachments
          • Custom Animation Variables
          • Importing an NFT Collection
          • Capsules and Mesh Transforms
        • Bots
        • Chat
          • Unreal Text Chat
        • Control Panels
          • Control Panel Configuration
          • DJ Booth Mission Control
          • Observer Controls
        • Crowd Audio
        • Crowd Rendering
          • Legacy Animated Crowd
            • Animated Crowd Console Commands
            • Attaching static meshes to crowd members
          • Crowd Materials
          • Performance Parameters
          • Live Config Settings
          • Crowd Animation
            • Crowd Anim Blueprint
              • User Guide - Crowd Anim Blueprint
              • Reference Guide - ABP Nodes
                • Animation Playback
                • States and State Machines
                • Variables
                • Transitions
                • Special
                • Blends
                • Additional Notes
        • Helpers & Extras
          • "Instanced Objects" in Blueprints
          • Objects with "world context"
          • Making DataAsset classes
          • Duplicate Objects
          • The Bootflow Subsystem
          • The "Wait For Condition" System
          • Advanced Graphics Settings
          • Listening to Inputs on UObjects
          • Morpheus UserID
          • World Services
          • M2Extras: Skins System
        • Loading Screen
        • Live Config
          • Editing for a World
          • Editing Locally
          • Default Settings
          • Accessing via Blueprint
          • Adding New Settings
          • Overriding Defaults
          • Using Arrays
        • MML
        • Motion Capture
        • Networking
        • Notifications
        • Raycastable Crowd
        • Singletons
        • Streaming & Multiplatform
          • GFN on Mobile
        • UI
          • "UI Mode"
        • User Collections
          • Creating a New Object Definition
          • Accessing from Unreal
            • Creating Objects Definitions
            • Transfer Objects
            • User Collection Views
            • Receiving Updates
        • Video Players
          • Embedded Video Player
          • Millicast video streaming
            • How to Setup an In-Game Video Stream
            • Picture-in-Picture mode
          • Streaming Video Player
            • How to Setup a URL Video Player
            • Picture-in-Picture mode
        • Visual Debugging
          • Inspector
        • Web UI
        • Online Services
          • KV Store Service
        • Web Requests
          • Http Requests
            • Legacy HTTP Nodes
          • JSON Handling
          • WebSockets
          • Identity Validation
          • Allowed External URLs
          • Walkthrough Example
            • Example Counter Service
        • World Travel
          • World Travel in the Editor
        • Avatar Physics Assets
        • Action Gameplay Helper Components
      • Workflows
        • Upgrade the Editor
        • Editing Project Settings
        • Profiling
        • Marketplace Importing
        • Extra Workflows
          • Setup Play-in-Editor
          • Setup Local Asset Validation
          • Adding Gameplay Tags
          • Validating Game Assets
          • Custom Connection Modes
          • Connect Editor to a World
          • Common Issues
      • Best Practices
    • Worlds
      • Invite Players
        • Setting Role Groups
      • Persistent Worlds
      • Always on Worlds
    • Running Events
      • Large Scale Events - Checklist
      • Anti-Cheat (EAC)
      • Player Entry
        • React Native
        • Steam
        • Hardware Requirements
      • Broadcast
        • OBS Integration
      • Failover
      • Capacity and Queue Management
  • ADMINS
    • Access Control
      • Add Metaverse Contributors
      • Create a New Project
    • Pricing
      • Development Support
      • Included Usage & Overages
      • Cloud Streaming
      • Access Modes
      • War Room Support
      • Platform SLA
    • Settings
      • Projects
  • APIs and Tooling
    • API Reference
      • Accounts
      • Events
      • Key/Value Store
      • Organizations
      • Realtime
      • User Profile
      • World Builder
      • Worlds
    • Template Web App
      • Moderation
    • Pixel Streaming
    • Launcher
  • Integrations
    • Analytics
      • Send Events from Web
      • Send Events from Unreal
    • Chat
      • Integrate Pubnub with your Unreal Project
      • Add Moderation to Chat
Powered by GitBook
On this page
  • Overview
  • Integration
  • Initial Spawning
  • Setting Up Control Panel Sets
  • Available Features
  • Spawn/De-spawn All
  • Control Panel Sets
  • Individual Sets
  • Save and Load Pre-set

Was this helpful?

  1. CREATION
  2. Unreal Development
  3. Features & Guides
  4. Control Panels

Control Panel Configuration

PreviousControl PanelsNextDJ Booth Mission Control

Last updated 9 months ago

Was this helpful?

Experimental - Customers are encouraged to test and use this feature in their experiences, but it may still require some additional support

Overview

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.

Integration

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

Initial Spawning

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.

[Option 1] Automatic Spawning

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.

[Option 2] Example of Manual Spawning

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.

Setting Up Control Panel Sets

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.

Available Features

Spawn/De-spawn All

This feature allows Directors to spawn and de-spawn all available control panels at once.

Control Panel Sets

Individual Sets

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

Save and Load Pre-set

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

Once you have set up Sets of control panels, where you can learn how to from this document: , your sets will be available where you can spawn, de-spawn and choose the colours for all the control panels in a set.

Setting Up Sets
Control Panels configured to suit user needs
Setting Auto Open to true on a millicast control panel
An example of how to setup this system depending using a live config value.
Screenshot showing a control panel without the correct actor tag.
An output log message indicating which actor was failing the check.
Screenshot showing a successful check.
How Sets appear on the control panel.