Updating Pragma Engine #
Every version of Pragma Engine is available in the pragmaplatform/pragma-engine-release repo.
We recommend you reach out to your customer support manager if you are updating from 0.2.x
and below.
Managed Services Projects #
Sync project’s source
branch to wanted version.
#
The source branch is a pristine branch containing just the pragma release sources without any customization. This serves as a clean slate that will then used to merge the release into the project main.
From your project’s Buildkite dashboard.
- Under Pipelines select: [game name]-engine-update.
- Click New Build, provide a message, and click Create Build.
- Wait for the Select Platform Version step.
- Enter the full semantic version of Pragma you want to upgrade to. For example
0.3.3
.
- Enter the full semantic version of Pragma you want to upgrade to. For example
- Allow the pipeline to complete
- Verify the
source
branch has been set to the wanted version by looking at the latest commit. The commit look like:Sync from pragma-engine@<x.x.x>
Create an Upgrade Branch #
- Fetch the
source
from origin. - Create a branch from your project’s
main
. - Merge in the
source
branch- Resolve any conflicts that may occur with any custom engine modifications.
- Run
./pragma build engine -s
. This will verify the Pragma Engine modules have been successfully upgraded.- This will also update the engine poms with any needed changes.
- Apply the integrations outlined in the release notes.
- Use
./pragma build -s
to build the project modules and help identify areas that require integrations.
- Use
- Once the project is building successfully, verify the upgrade by running
./pragma build all
. This will build the engine, your project, and run all tests. - Generate and update the Pragma SDK for your game project and apply required integrations with the SDK.
- If you have a customized portal, run
./pragma portal package
to pick up new portal features. - Merge the upgrade branch back into
main
.Do not use a squash and merge since this will orphan the
source
branch frommain
.
Self Managed Projects #
Pull the latest releases and patches from: pragmaplatform/pragma-engine-release.
Create an Upgrade Branch #
- Create a branch from your project’s
main
. - Merge in the release artifact.
- Resolve any conflicts that may occur with custom engine modifications.
- Run
./pragma build engine -s
. This will verify the Pragma Engine modules have been successfully upgraded.- This will also update the engine poms with any needed changes.
- Apply the integrations outlined in the release notes.
- Use
./pragma build -s
to build the project modules and help identify areas that require integrations.
- Use
- Once your project is building successfuly, verify the upgrade by running
./pragma build all
. This will build the engine, your project, and run all tests. - Generate and update the Pragma SDK for your game project and apply required SDK integrations.
- If you have a customized portal, run
./pragma portal package
to pick up new portal features. - Merge the upgrade branch back into
main
.
Update the Pragma SDK #
The Pragma SDK is in the pragmaplatform/pragma-engine-release/sdk
directory and contains the Unity and Unreal Engine SDK. The Unreal Engine and Unity SDK directories contain an update-pragma-sdk.sh
script that automates the process of replacing the SDK in your game repository.
During onboarding this script is set up for your repository and is ready for you to use. Run this script after you update your platform repository to get the latest SDK. If you build custom services or modify ext
protos, run this script to retrieve generated types for your SDK.
This script deletes the SDK and replaces it with the SDK in the platform repo. This guarantees any deletions from Pragma make it into your SDK as well. If you want to make changes to the SDK, you’ll need to account for this.