Getting Started
Gantry is an experience framework for Unreal Engine 5.6, 5.7 and 5.8. This page takes you from installing it to your first experience running in the editor. Everything here works in a Blueprint-only project.
Warning
Beta engine features. Gantry builds on Unreal's Game Features and Modular Gameplay plugins, which Epic marks as beta. Gantry enables both for you.
1. Install
- Install Gantry from Fab into your engine.
- In your project, open Edit > Plugins, search for Gantry and enable it.
- Restart the editor. If your project has C++, regenerate project files.
2. Set up your project
Gantry needs three settings. Each is shown as the .ini lines to add; the same settings are in
Project Settings.
The asset manager
Gantry tracks loads through its own asset manager, so loading screens can show them. Use it, or a subclass of your own:
; Config/DefaultEngine.ini
[/Script/Engine.Engine]
AssetManagerClassName=/Script/GantryGauge.GantryAssetManager
Asset manager scan rules
The asset manager has to find your experiences, and Game Features needs a rule for its own
GameFeatureData assets. Experiences are data assets, so their rule has Has Blueprint
Classes off:
; Config/DefaultGame.ini
[/Script/Engine.AssetManagerSettings]
+PrimaryAssetTypesToScan=(PrimaryAssetType="GantryExperience",AssetBaseClass="/Script/GantryExperience.GantryExperienceDefinition",bHasBlueprintClasses=False,bIsEditorOnly=False,Directories=((Path="/Game/Experiences")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=AlwaysCook))
+PrimaryAssetTypesToScan=(PrimaryAssetType="GameFeatureData",AssetBaseClass="/Script/GameFeatures.GameFeatureData",bHasBlueprintClasses=False,bIsEditorOnly=False,Directories=((Path="/Game/Unused")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=AlwaysCook))
List every folder that holds experiences in the first rule's Directories. Gantry checks the
rule at startup and logs an error if it is missing, uses another type name, or has Has Blueprint
Classes on: any of those leaves a packaged game without its experiences. Without the second
rule, the engine logs an error at every startup and game feature plugins do not activate.
The base experience
Every project has one base experience, the root of its experience tree.
- Create it: Content Browser > Add > Gantry > Base Experience, named
EXP_Base, in/Game/Experiences. - Set its Experience Tag, such as
Experience.Base. - Point Gantry at it, in Project Settings > Plugins > Gantry Experience > Base Experience:
; Config/DefaultGame.ini
[/Script/GantryExperience.GantryExperienceSettings]
BaseExperience=/Game/Experiences/EXP_Base.EXP_Base
3. Your first experience
- Create an experience: Content Browser > Add > Gantry > Experience, named
EXP_Sandbox. Give it the tagExperience.Sandbox. - Open
EXP_Baseand addEXP_Sandboxto its Children. Set its Default Experience toEXP_Sandbox. - Give
EXP_Sandboxsomething to do: create a Blueprint class of Gantry Experience Stage, and in Begin Stage print a string, then call Finish Stage. Add the stage to the experience's Stages. - Press Play. Your Print String shows on screen, and the log shows the base and the sandbox activating, each stage running, and the experience becoming ready.
From here:
- Run Blueprint once the experience is ready with Wait For Experience Ready.
- Switch experiences with Set Experience By Tag.
- Give a map its own starting experience in Project Settings > Plugins > Gantry Experience > Map Experiences.
Experiences and Activation and stages explain the rest, and Guides walks through whole tasks.
4. Optional
Game feature policy
To check that game feature plugins (DLC, live content, or mods) were built for this version of your game, install Gantry's game feature policy. It refuses a plugin built for a different engine, or outside the game version range it declares, before it mounts:
; Config/DefaultGame.ini
[/Script/GameFeatures.GameFeaturesSubsystemSettings]
GameFeaturesManagerClassName=/Script/GantryExperience.GantryGameFeaturesProjectPolicies
[/Script/GantryExperience.GantryGameFeaturesProjectPolicies]
; Set to False while iterating to log mismatches instead of refusing them.
bEnforceCompatibility=True
A plugin carries the information the policy checks when its game feature data asset is a
UGantryGameFeatureData: choose that class when you
create the plugin's data asset. A plugin without it is always allowed.
The example projects
Two complete games are built on Gantry and free to download: Yardrush, all Blueprint, and Railhead, in C++. Examples describes both and links to them. Each uses the Gantry plugin you installed from Fab, rather than a copy of its own.