LogoLogo
API Status
  • 👋Welcome
  • 🌐What is Morpheus Platform?
    • Interoperability
  • â„šī¸Help
    • 📗Glossary
    • 🆘Support
    • Firewall problems
    • EULA
  • 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
      • 📚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
          • đŸ–Ĩī¸Version History
        • âš™ī¸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
      • 📚Useful Reading
        • ⭐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 Reqs
      • đŸŽĨBroadcast
        • 📹OBS Integration
      • Failover
      • 🏁Capacity And Queue Management
  • ADMINS
    • đŸ‘ĒAccess Control
      • Adding metaverse contributors
      • Creating 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
      • Sending events from web
      • 🎮Sending Events from Unreal
    • đŸ’ŦChat
      • 🎮Integrating Pubnub with your Unreal Project
      • Adding Moderation to Chat
Powered by GitBook
On this page

Was this helpful?

  1. CREATION
  2. Unreal Development
  3. Features & Guides
  4. Live Config

Adding New Settings

PreviousAccessing via BlueprintNextOverriding Defaults

Last updated 8 months ago

Was this helpful?

You can also define new live config settings for your project.

To add a Live Config setting entry, you need to do the following:

  1. Navigate to your project schema under: {project-root}/Config/LiveConfig/Schemas/project.schema.json.

  2. Add your new property at the appropriate with the following fields:

    • type - data type of the config value

      • either string, boolean, number, integer , object or array (of string, boolean, number, or integer types - more details can be found in Using Arrays)

    • description - brief explanation of the config setting

      • displayed alongside your setting in the online editor

  3. Then, depending on the value of type you must add the following field to your config entry:

    • If type is object

      • properties: A JSON object containing a group of Live Config schema entires.

    • If type is NOT object

      • default: The initial value for the setting for a newly started world. (Note: This default value can be overridden on a per-map basis. See for details.)

  4. [Optional] You can also add value restrictions on to your values depending on your live config setting type. These restrictions will be checked only when you update live config values in a running cloud deployment

    • If type is number or integer

      • minimum/exclusiveMinimum: The minimum allowed value for the config (exclusive only accepts values strictly greater than the given number).

      • maximum/exclusiveMaximum: The maximum allowed value for the config (exclusive only accepts values strictly less than the given number).

      • multipleOf: Valid for integer type only. Restricts live config setting to allow only integers which is a multiple of the value given.

    • if type is string:

      • minLength: An integer denoting the minimum length of the string.

      • maxLength: An integer denoting the maximum length of the string.

      • pattern: A string of regex pattern that the config string must match.

An example of a correctly defined string type live config setting is the following:

"MyStringConfig":
{
    "type": "string",
    "description": "This is a new live config string!",
    "default": "my live config string"
}

This live config setting can be queried with the project config type and "MyStringConfig" attribute name.

An example of a correctly defined group of boolean and integer type live config setting is the following:

"MyConfigGroup":
{
    "type": "object",
    "description": "This is a new group of live config settings!",
    "properties":
    {
        "MyIntegerConfig":
        {
            "type": "integer",
            "description": "This is a nested live config integer!",
            "default": 25,
            "exclusiveMinimum": 0,
            "maximum": 100
        },
        "MyBooleanConfig":
        {
            "type": "boolean",
            "description": "This is a new live config boolean!",
            "default": false
        }
    }
},

These live config settings can be queried with the project config type and "MyConfigGroup.MyIntegerConfig" or "MyConfigGroup.MyBooleanConfig" attribute names.

🎮
📚
⚡
this section