FGantryModUnit
One mod as Gantry found it: its name, what it depends on, how far it got in mounting, and why it failed.
A mod is a game feature plugin in its own folder under a mod directory. When the game runs cooked, its content is in Content/Paks/(platform)/ inside that folder. Read the list with Get Units on UGantryModSubsystem, for example to show players which mods loaded and which were refused.
Properties
| Property | Type | Default | Description |
|---|---|---|---|
Name read-only | FString | The plugin's name, which is also its content root ( | |
DescriptorPath read-only | FString | Full path of the mod's .uplugin. | |
CodeModules read-only | TArray<FString> | Code modules its .uplugin lists; empty for a content mod. | |
ModDependencies read-only | TArray<FString> | Other mods this one depends on, by name, as its .uplugin lists them. | |
Depth read-only | int32 | 0 | How many layers of mods it builds on: 0 for one that depends on no mod, otherwise one more than its deepest dependency. Within a pass deeper mods mount at higher priority, so a mod wins over what it builds on when both provide the same asset. |
MountOrder read-only | int32 | 0 | The pak order its content was mounted at; higher wins. Each mod has its own, and a later pass's mods mount above every earlier one. |
Containers read-only | TArray<FString> | Containers mounted for it (.pak paths). Empty in an uncooked run, which reads loose content. | |
PluginURL read-only | FString | Game feature plugin URL it was registered with. | |
State read-only | EGantryModUnitState | Discovered | How far it got. |
Error read-only | FString | Why it failed, or which disabled mod it builds on; empty otherwise. | |
Notes read-only | TArray<FString> | Things worth knowing that did not stop it: a container index it could not read, a pak named like a patch, the release it was cooked against when this game is another. | |
ContentId read-only | FString | What it is, the same on every machine with the same mod: its content (as its game feature data records it, cooked for any platform) and its config files, hashed. Machines playing together compare it for every mod their experience uses. Empty until it registers. |
C++
Public C++ members that Blueprint does not see.
bExplicitlyLoaded
bool
Whether its .uplugin is Explicitly Loaded, as a mod's must be.
FolderStamp
FString
What its folder held when it was found (GantryMods::FolderStamp): a failed unit is tried again only once this changes.
bAuthoringRoot
bool
In the editor, a new unit's content folder opened for authoring (it has no game feature data yet, so it cannot register); closed again when the unit is retried or forgotten.
ProvidedFiles
TArray<FString>
Every file its pak indexes list (mount point prefixed, extension stripped).
Not exposed: it can run to thousands of entries.
ProvidedPackages
TMap<FPackageId, FString>
Every package its IoStore containers hold, by package id, with its name where the container records one.
Compared by id, which is how the engine resolves packages.
GameOverrides
TArray<FString>
Packages it holds that the game (or the engine) already provided when it mounted: it replaces them.
PakOrders
TMap<FString, int32>
The pak order each of its paks really mounted at (a patch-named pak mounts higher).
IsOut
bool
Returns: Whether it is out of play: refused, failed or disabled, with nothing of it mounted.