Refactor GameplayTag documentation and implementation

- Updated references from GI_GameTagRegistry to DA_GameTagRegistry in architecture overview and implementation patterns documentation.
- Added new Blueprint specification for GI_StarterGameInstance, detailing its purpose, configuration, and integration pattern.
- Introduced DA_GameTagRegistry Blueprint specification, centralizing GameplayTag management and providing functions for tag validation and logging.
- Created documentation for the Starter GameInstance, outlining its role in the project setup and how other systems can integrate with it.
This commit is contained in:
Lefteris Notas
2026-05-20 14:31:52 +03:00
parent 3023ad3555
commit fee12b115f
17 changed files with 927 additions and 423 deletions

View File

@@ -12,7 +12,7 @@ This document catalogs all UE5 engine functions that are C++ only (not exposed t
**Engine Function:** `UGameplayTagsManager::Get().RequestAllGameplayTags()`
**UE5 Node:** Does NOT exist in Blueprint
**Files Affected:** `01_GI_GameTagRegistry.md`, any system that needs to enumerate all tags
**Files Affected:** `01_DA_GameTagRegistry.md`, any system that needs to enumerate all tags
**Blueprint Workaround — Data Table Proxy (Multi-Table):**
@@ -72,7 +72,7 @@ OR create a Blueprint Macro Library with a macro that wraps the subsystem lookup
### 3.1 `OnAssetLoaded` / `BeginPlay` on Data Assets (Not Available)
**Engine Behavior:** `UPrimaryDataAsset` does not have `BeginPlay`, `Tick`, or event graphs. It's a pure data container.
**Files Affected:** `01_GI_GameTagRegistry.md`, all DA_* specs
**Files Affected:** `01_DA_GameTagRegistry.md`, all DA_* specs
**Blueprint Workaround:** Move initialization and validation logic to an owning system:

View File

@@ -452,7 +452,7 @@ HasActionFlag(Tag: GameplayTag) → Boolean
4. Populate default `GatingRules` from `DA_StateGatingTable` if assigned
5. Bind to `GI_GameFramework.OnGamePhaseChanged` (for game-phase-gated rules)
6. Bind to `BPC_HealthSystem.OnDeath` (auto-call `ForceStateChange(Dead)`)
7. Register with `GI_GameTagRegistry` for tag-based queries
7. Register with `DA_GameTagRegistry` for tag-based queries
8. Bind to `BPC_HealthSystem.OnHealthChanged` call `EvaluateInjuryState()`
9. Bind to `BPC_StressSystem.OnStressTierChanged` recalculate heart rate
10. Bind to `BPC_StaminaSystem.OnExhaustionStateChanged` recalculate heart rate

View File

@@ -88,7 +88,7 @@ This means UI widgets, audio, and effects need **zero changes** for multiplayer
| `GI_GameFramework` | Server sets GamePhase; clients read | Dispatchers broadcast to all |
| `GM_CoreGameMode` | Server-only; spawns players, routes death | Extends replicated GameMode |
| `GS_CoreGameState` | Server sets all state | **Full replication** — 5 vars with OnRep |
| `GI_GameTagRegistry` | Read-only on all | Identical on all clients (ini-based) |
| `DA_GameTagRegistry` | Read-only on all | Identical on all clients (ini-based) |
| `FL_GameUtilities` | Static; no state | No replication needed |
| `I_InterfaceLibrary` | Contracts; no state | No replication needed |
| `DA_ItemData` | Read-only config | Identical on all clients |