NarrativeGMC — Migration Guide¶
Prerequisites¶
- Unreal Engine 5.7
- GMCv2 v2.3.7+ installed (Fab)
- GMCAbilitySystem v1.3+ compiled (GitHub)
- NarrativePro v2.2.6+ installed (Fab)
Installation¶
- Copy
NarrativeGMC/folder to your project'sPlugins/directory - Add to your
.uproject:{ "Name": "NarrativeGMC", "Enabled": true } - Build the project (requires C++ compilation)
Replacing NarrativePro Classes¶
| Instead of... | Use... |
|---|---|
BP_NarrativePlayerCharacter |
Create BP inheriting ANarrativeGMCPlayerPawn |
BP_NarrativeNPCCharacter |
Create BP inheriting ANarrativeGMCNPCPawn |
ANarrativePlayerController |
ANarrativeGMCPlayerController |
ANarrativePlayerState |
ANarrativeGMCPlayerState |
| Your GameMode | ANarrativeGMCGameMode (or set classes manually) |
Setting Up Attributes¶
- Create a
UGMCAttributesDatadata asset - Add 10 attributes (see
docs/ATTRIBUTE-MAPPING.md) - On your player/NPC Blueprint, set
AbilitySystemComponent > AttributeDataAssets
Setting Up Abilities¶
- In Project Settings > GameplayTags, create tags:
Ability.Jump,Ability.Sprint,Ability.Crouch,Ability.Dodge,Ability.Death,Ability.Block,Ability.Aim,Ability.Reload,Ability.Fire.Hitscan,Ability.ToggleHolster - On your pawn Blueprint, set
AbilitySystemComponent > Starting Abilities - Create input bindings that call
AbilitySystemComponent > QueueAbility
Quest/Dialogue System¶
The UTalesComponent lives on ANarrativeGMCPlayerController — same as
NarrativePro. Quest and dialogue functionality works identically. Access via:
ANarrativeGMCPlayerController* PC = Cast<ANarrativeGMCPlayerController>(GetController());
UTalesComponent* Tales = PC->GetTalesComponent();
Inventory/Equipment¶
Both UNarrativeInventoryComponent and UEquipmentComponent are composed
directly on ANarrativeGMCPawn. They work identically to NarrativePro.
Key Differences from NarrativePro¶
- No ACharacter — your pawn is APawn-based (GMC), not ACharacter
- No GAS — all abilities use GMAS, not GameplayAbilities
- No CharacterMovementComponent — movement uses GMC's OrganicMovementComponent
- ASC on Pawn — ability system is on the pawn, not PlayerState
- Gameplay Tags — GMAS uses the same FGameplayTag system but manages tags differently