Unreal: Parties #

Most match-based games follow a game flow that involves creating a lobby and inviting friends to join a party, making pre-game selections such as choosing a character, entering matchmaking, playing the game, then ending the game with post-match results.

This guide provides a simplified walkthrough of building out the first part of the game flow, which is creating and joining a party.

In the first part of this guide, we’ll work on the backend by creating a Party Plugin in Pragma Engine. Next, we’ll build the corresponding frontend in Unreal Engine with help from the Pragma SDK.

By the end of this guide, we’ll be able to create a party, invite other players, select a character, ready up, and leave a party. We’ll also see how Pragma Engine handles some desired behaviors for us automatically, such as assigning a new party leader in the event the current party leader leaves.

This guide covers configuring and building the relevant Pragma Engine plugins, along with the necessary work in the Unreal game client to successfully integrate with Pragma Engine. Building the game UI and game are not covered in this guide.

Note that this guide also assumes you are proficient with Unreal Editor and does not describe the process of creating a UI or hooking up functions to events or buttons.

Core Concepts:
Check out our Concepts guides for more information about multiplayer.

Prerequisites:

  • Pragma Engine, Postman, and IntelliJ must be installed. See Initial Setup.
  • an Unreal Engine development environment
  • an Unreal project set up with the Pragma SDK–if you haven’t set up the Unreal Pragma SDK in your Unreal project yet, follow the directions in the Set Up the Unreal SDK page.
TopicDescription
Set Up Pragma Engine to Handle PartiesSet up Pragma Engine by defining party protos and building the Party Plugin.
Setting Up the Unreal ProjectBuilding the prerequisite functionality in our Unreal project.
Building the Party Screen in Unreal EngineBuilding the party screen in Unreal Engine with the Pragma SDK.