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

Was this helpful?

  1. CREATION
  2. Unreal Development
  3. Features & Guides

Parties

Last updated 6 months ago

Was this helpful?

All built in party features have been permanently disabled in V31. As such, the content on this page is no longer accurate.

Invite player to party

Note that the tools demonstrated in this page are accessible from MSquared v21

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

In order to use the M2 default flow for inviting players to party, the following live config settings will need to be enabled: - Interaction.EnableP2PInteractions - Interaction.EnableP2PPartyInteractions - Social.EnableParties

The default flow provides an example of how to interact with the party component to facilitate inviting another player to your party. It can be found in BP_M2_PlayerCharacterBase beginning with OnP2PButtonOptionRequested.

ProcessInviteToPartyOptionSelected shows how we can send a request to create a party, setting up a call-back to handle the response.

This call-back could be used to handle errors and the logic to run upon success.

Once we have a valid party to invite some one to, we send a client RPC to the target.

In order to be notified for receipt of invitation you can bind to OnPartyInviteReceived as seen in WBP_PartyInviteNotification.

Once an invite has been accepted / declined, the respective function can be called on the local players PartyComponent.

BPMC_PartyComponent gives an example of how these events, coupled with PartyInviteReceived can be used to track states and manipulate invites. The "Handle" functions can be overridden to provide different functionality.

AcceptPartyInvite will join the provided party ID via the backend API, and send a client RPC to the instigator to inform them of the acceptance. Decline will similarly send a client RPC to notify the instigator. To hook up notifications to a target player accepting / declining your invitation, bind to OnPartyInviteAccepted & OnPartyInviteDeclined respectively in the PartyComponent.

To get the party members in your current party, you can use the GetPartyMembers function.

Gif showing base m2 implementation of inviting another player to your party, followed by them leaving the party.
Img shows default implementation for OnP2PButtonOptionRequested
Img shows default implementation of ProcessInviteToPartyOptionSelected
Img shows implementation of callback function from RequestCreateParty
Img shows implementation of InviteToParty - sending the client RPC invite.
Img shows binding to OnPartyInviteReceived
Img shows call to Accept/Decline party invites
Img shows HandlePartyInviteReceived implementation, only forwarding the invite if we don't have an invite in progress
Img shows HandlePartyInviteAccepted implementation, clearing InviteInProgress when an invite is accepted
Img shows HandlePartyInviteDeclined implementation, clearing InviteInProgress when an invite is declined
Img shows GetPartyMembers example