Compare commits

...

2 Commits

26 changed files with 84 additions and 84 deletions

View File

@@ -20,7 +20,7 @@
* bypass them entirely for performance and correctness.
*/
UCLASS(BlueprintType, Blueprintable, meta = (DisplayName = "DA_GameTagRegistry"))
class FRAMEWORK_API UDA_GameTagRegistry : public UPrimaryDataAsset
class PG_FRAMEWORK_API UDA_GameTagRegistry : public UPrimaryDataAsset
{
GENERATED_BODY()

View File

@@ -21,7 +21,7 @@ class APC_CoreController;
* here we get clean UFUNCTION(BlueprintCallable) with fast native paths.
*/
UCLASS()
class FRAMEWORK_API UFL_GameUtilities : public UBlueprintFunctionLibrary
class PG_FRAMEWORK_API UFL_GameUtilities : public UBlueprintFunctionLibrary
{
GENERATED_BODY()

View File

@@ -69,7 +69,7 @@ DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnFrameworkInitFailed, const FStrin
* pattern with clean template access via GetService<T>().
*/
UCLASS(Blueprintable)
class FRAMEWORK_API UGI_GameFramework : public UGameInstance
class PG_FRAMEWORK_API UGI_GameFramework : public UGameInstance
{
GENERATED_BODY()

View File

@@ -33,7 +33,7 @@ DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnGameOverTriggered, FGameplayTag,
* Set them in your BP child's Class Defaults.
*/
UCLASS(Blueprintable)
class FRAMEWORK_API AGM_CoreGameMode : public AGameModeBase
class PG_FRAMEWORK_API AGM_CoreGameMode : public AGameModeBase
{
GENERATED_BODY()

View File

@@ -30,7 +30,7 @@ DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPlayTimeUpdated, float, ElapsedSe
* clients and local single-player.
*/
UCLASS(Blueprintable)
class FRAMEWORK_API AGS_CoreGameState : public AGameStateBase
class PG_FRAMEWORK_API AGS_CoreGameState : public AGameStateBase
{
GENERATED_BODY()

View File

@@ -26,7 +26,7 @@ class UInteractable : public UInterface
GENERATED_BODY()
};
class FRAMEWORK_API IInteractable
class PG_FRAMEWORK_API IInteractable
{
GENERATED_BODY()
@@ -66,7 +66,7 @@ class UInspectable : public UInterface
GENERATED_BODY()
};
class FRAMEWORK_API IInspectable
class PG_FRAMEWORK_API IInspectable
{
GENERATED_BODY()
@@ -97,7 +97,7 @@ class UDamageable : public UInterface
GENERATED_BODY()
};
class FRAMEWORK_API IDamageable
class PG_FRAMEWORK_API IDamageable
{
GENERATED_BODY()
@@ -138,7 +138,7 @@ class UHoldable : public UInterface
GENERATED_BODY()
};
class FRAMEWORK_API IHoldable
class PG_FRAMEWORK_API IHoldable
{
GENERATED_BODY()
@@ -169,7 +169,7 @@ class ULockable : public UInterface
GENERATED_BODY()
};
class FRAMEWORK_API ILockable
class PG_FRAMEWORK_API ILockable
{
GENERATED_BODY()
@@ -200,7 +200,7 @@ class UUsableItem : public UInterface
GENERATED_BODY()
};
class FRAMEWORK_API IUsableItem
class PG_FRAMEWORK_API IUsableItem
{
GENERATED_BODY()
@@ -229,7 +229,7 @@ class UPersistable : public UInterface
GENERATED_BODY()
};
class FRAMEWORK_API IPersistable
class PG_FRAMEWORK_API IPersistable
{
GENERATED_BODY()
@@ -261,7 +261,7 @@ class UToggleable : public UInterface
GENERATED_BODY()
};
class FRAMEWORK_API IToggleable
class PG_FRAMEWORK_API IToggleable
{
GENERATED_BODY()
@@ -292,7 +292,7 @@ class UAdjustable : public UInterface
GENERATED_BODY()
};
class FRAMEWORK_API IAdjustable
class PG_FRAMEWORK_API IAdjustable
{
GENERATED_BODY()

View File

@@ -34,7 +34,7 @@ enum class EInputContextPriority : uint8
* Mapping context entry in the stack.
*/
USTRUCT(BlueprintType)
struct FRAMEWORK_API FInputContextEntry
struct PG_FRAMEWORK_API FInputContextEntry
{
GENERATED_BODY()
@@ -70,7 +70,7 @@ DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnKeyRebound, FGameplayTag, Action
* "Get Enhanced Input Local Player Subsystem" node chains.
*/
UCLASS()
class FRAMEWORK_API USS_EnhancedInputManager : public UGameInstanceSubsystem
class PG_FRAMEWORK_API USS_EnhancedInputManager : public UGameInstanceSubsystem
{
GENERATED_BODY()

View File

@@ -16,7 +16,7 @@ class UDA_ItemData;
* Single inventory slot entry.
*/
USTRUCT(BlueprintType)
struct FRAMEWORK_API FInventorySlot
struct PG_FRAMEWORK_API FInventorySlot
{
GENERATED_BODY()
@@ -64,7 +64,7 @@ DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnWeightChanged, float, CurrentWei
* no BP interpretive array node overhead.
*/
UCLASS(Blueprintable, ClassGroup = (Framework), meta = (BlueprintSpawnableComponent))
class FRAMEWORK_API UBPC_InventorySystem : public UActorComponent
class PG_FRAMEWORK_API UBPC_InventorySystem : public UActorComponent
{
GENERATED_BODY()

View File

@@ -6,7 +6,7 @@
#include "DA_EquipmentConfig.generated.h"
USTRUCT(BlueprintType)
struct FRAMEWORK_API FDamageTypeResistance
struct PG_FRAMEWORK_API FDamageTypeResistance
{
GENERATED_BODY()
@@ -18,7 +18,7 @@ struct FRAMEWORK_API FDamageTypeResistance
};
UCLASS(BlueprintType)
class FRAMEWORK_API UDA_EquipmentConfig : public UPrimaryDataAsset
class PG_FRAMEWORK_API UDA_EquipmentConfig : public UPrimaryDataAsset
{
GENERATED_BODY()

View File

@@ -49,7 +49,7 @@ enum class EEquipmentSlot : uint8
* Equipment-specific data (shown when ItemType is Weapon or Tool).
*/
USTRUCT(BlueprintType)
struct FRAMEWORK_API FItemEquipmentData
struct PG_FRAMEWORK_API FItemEquipmentData
{
GENERATED_BODY()
@@ -76,7 +76,7 @@ struct FRAMEWORK_API FItemEquipmentData
* Consumable-specific data (shown when ItemType is Consumable).
*/
USTRUCT(BlueprintType)
struct FRAMEWORK_API FItemConsumableData
struct PG_FRAMEWORK_API FItemConsumableData
{
GENERATED_BODY()
@@ -97,7 +97,7 @@ struct FRAMEWORK_API FItemConsumableData
* Inspect-specific data (shown when bHasInspectMode is true).
*/
USTRUCT(BlueprintType)
struct FRAMEWORK_API FItemInspectData
struct PG_FRAMEWORK_API FItemInspectData
{
GENERATED_BODY()
@@ -122,7 +122,7 @@ struct FRAMEWORK_API FItemInspectData
* shows relevant sub-structs based on ItemType — a massive UX win for designers.
*/
UCLASS(BlueprintType, Blueprintable, meta = (DisplayName = "Item Data"))
class FRAMEWORK_API UDA_ItemData : public UPrimaryDataAsset
class PG_FRAMEWORK_API UDA_ItemData : public UPrimaryDataAsset
{
GENERATED_BODY()

View File

@@ -8,7 +8,7 @@ DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnHealthChanged, float, CurrentHea
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnDeath);
UCLASS(Blueprintable, ClassGroup=(Framework), meta=(BlueprintSpawnableComponent))
class FRAMEWORK_API UBPC_HealthSystem : public UActorComponent
class PG_FRAMEWORK_API UBPC_HealthSystem : public UActorComponent
{
GENERATED_BODY()

View File

@@ -8,7 +8,7 @@
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnMovementModeChanged, FGameplayTag, NewMode, FGameplayTag, OldMode);
UCLASS(Blueprintable, ClassGroup=(Framework), meta=(BlueprintSpawnableComponent))
class FRAMEWORK_API UBPC_MovementStateSystem : public UActorComponent
class PG_FRAMEWORK_API UBPC_MovementStateSystem : public UActorComponent
{
GENERATED_BODY()

View File

@@ -7,7 +7,7 @@
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnExhaustionStateChanged, bool, bExhausted);
UCLASS(Blueprintable, ClassGroup=(Framework), meta=(BlueprintSpawnableComponent))
class FRAMEWORK_API UBPC_StaminaSystem : public UActorComponent
class PG_FRAMEWORK_API UBPC_StaminaSystem : public UActorComponent
{
GENERATED_BODY()

View File

@@ -66,7 +66,7 @@ enum class EHeartRateTier : uint8
* In C++, the Chooser Table iteration is native-speed — no BP interpretive overhead.
*/
UCLASS(Blueprintable, ClassGroup = (Framework), meta = (BlueprintSpawnableComponent))
class FRAMEWORK_API UBPC_StateManager : public UActorComponent
class PG_FRAMEWORK_API UBPC_StateManager : public UActorComponent
{
GENERATED_BODY()

View File

@@ -17,7 +17,7 @@ enum class EStressTier : uint8
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnStressTierChanged, EStressTier, NewTier);
UCLASS(Blueprintable, ClassGroup=(Framework), meta=(BlueprintSpawnableComponent))
class FRAMEWORK_API UBPC_StressSystem : public UActorComponent
class PG_FRAMEWORK_API UBPC_StressSystem : public UActorComponent
{
GENERATED_BODY()

View File

@@ -5,7 +5,7 @@
#include "PC_CoreController.generated.h"
UCLASS(Blueprintable)
class FRAMEWORK_API APC_CoreController : public APlayerController
class PG_FRAMEWORK_API APC_CoreController : public APlayerController
{
GENERATED_BODY()

View File

@@ -5,7 +5,7 @@
#include "PS_CorePlayerState.generated.h"
UCLASS(Blueprintable)
class FRAMEWORK_API APS_CorePlayerState : public APlayerState
class PG_FRAMEWORK_API APS_CorePlayerState : public APlayerState
{
GENERATED_BODY()

View File

@@ -15,7 +15,7 @@
* Save slot metadata returned by GetSlotManifest().
*/
USTRUCT(BlueprintType)
struct FRAMEWORK_API FSaveSlotInfo
struct PG_FRAMEWORK_API FSaveSlotInfo
{
GENERATED_BODY()
@@ -54,7 +54,7 @@ DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnSaveManifestUpdated, const TArray
* and async save operations — impossible to match in Blueprint.
*/
UCLASS()
class FRAMEWORK_API USS_SaveManager : public UGameInstanceSubsystem
class PG_FRAMEWORK_API USS_SaveManager : public UGameInstanceSubsystem
{
GENERATED_BODY()

View File

@@ -6,7 +6,7 @@
#include "DA_StateGatingTable.generated.h"
USTRUCT(BlueprintType)
struct FRAMEWORK_API FStateGatingRule
struct PG_FRAMEWORK_API FStateGatingRule
{
GENERATED_BODY()
@@ -21,7 +21,7 @@ struct FRAMEWORK_API FStateGatingRule
};
UCLASS(BlueprintType)
class FRAMEWORK_API UDA_StateGatingTable : public UPrimaryDataAsset
class PG_FRAMEWORK_API UDA_StateGatingTable : public UPrimaryDataAsset
{
GENERATED_BODY()

View File

@@ -28,7 +28,7 @@ DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnKnockedDown, AActor*, KnockdownC
* Damage modifier for a specific damage type.
*/
USTRUCT(BlueprintType)
struct FRAMEWORK_API FDamageModifier
struct PG_FRAMEWORK_API FDamageModifier
{
GENERATED_BODY()
@@ -57,7 +57,7 @@ struct FRAMEWORK_API FDamageModifier
* health system. In C++, the damage pipeline is native-speed vectorized math.
*/
UCLASS(Blueprintable, ClassGroup = (Framework), meta = (BlueprintSpawnableComponent))
class FRAMEWORK_API UBPC_DamageReceptionSystem : public UActorComponent
class PG_FRAMEWORK_API UBPC_DamageReceptionSystem : public UActorComponent
{
GENERATED_BODY()

View File

@@ -6,7 +6,7 @@
#include "BPC_HitReactionSystem.generated.h"
UCLASS(Blueprintable, ClassGroup=(Framework), meta=(BlueprintSpawnableComponent))
class FRAMEWORK_API UBPC_HitReactionSystem : public UActorComponent
class PG_FRAMEWORK_API UBPC_HitReactionSystem : public UActorComponent
{
GENERATED_BODY()

View File

@@ -5,7 +5,7 @@
#include "BPC_ShieldDefenseSystem.generated.h"
UCLASS(Blueprintable, ClassGroup=(Framework), meta=(BlueprintSpawnableComponent))
class FRAMEWORK_API UBPC_ShieldDefenseSystem : public UActorComponent
class PG_FRAMEWORK_API UBPC_ShieldDefenseSystem : public UActorComponent
{
GENERATED_BODY()

View File

@@ -3,7 +3,7 @@
> **This file is the pure-Blueprint equivalent of `FL_GameUtilities`.**
> Every function from the C++ Function Library is re-implemented as a Blueprint Macro Library macro using only engine-provided Blueprint nodes. No C++ compilation required.
>
> **C++ counterpart:** [`02_FL_GameUtilities.md`](02_FL_GameUtilities.md) | [`FL_GameUtilities.h`](../../Source/Framework/Public/Core/FL_GameUtilities.h)
> **C++ counterpart:** [`02_FL_GameUtilities.md`](02_FL_GameUtilities.md) | [`FL_GameUtilities.h`](../../Source/PG_Framework/Public/Core/FL_GameUtilities.h)
## Asset Details

View File

@@ -132,7 +132,7 @@ InvalidState, RequesterNotFound, CooldownActive, VitalThreshold
## Component — BPC_StateManager
Already covered in C++ (`Source/Framework/Public/Player/BPC_StateManager.h`).
Already covered in C++ (`Source/PG_Framework/Public/Player/BPC_StateManager.h`).
### Attach to Pawn
1. Open player pawn Blueprint

View File

@@ -17,7 +17,7 @@ Complete status grid for every system in the UE5 Modular Game Framework. Use thi
| ❌ | **Not Started** — Spec exists but asset not created |
Abbreviations:
- **C++ H/CPP** = C++ header and source files exist in `Source/Framework/`
- **C++ H/CPP** = C++ header and source files exist in `Source/PG_Framework/`
- **BP Spec** = Blueprint specification file exists in `docs/blueprints/`
- **BP Asset** = Blueprint asset to create in UE5 Content Browser
- **MI Guide** = Manual Implementation Guide (node-by-node) in spec file

View File

@@ -2,7 +2,7 @@
**Version:** 1.0 | **Generated:** 2026-05-20 | **Systems:** 12 C++ classes | **Pages:** Full per-system setup
This guide covers every C++ class in `Source/Framework/`. For each system: what Blueprint child to create, what Project Settings to change, what assets to assign, and how other systems call into it.
This guide covers every C++ class in `Source/PG_Framework/`. For each system: what Blueprint child to create, what Project Settings to change, what assets to assign, and how other systems call into it.
---
@@ -12,12 +12,12 @@ This guide covers every C++ class in `Source/Framework/`. For each system: what
In `Source/YourProject/YourProject.Build.cs`:
```csharp
PublicDependencyModuleNames.Add("Framework");
PublicDependencyModuleNames.Add("PG_Framework");
```
In `Source/YourProject.Target.cs`:
```csharp
ExtraModuleNames.Add("Framework");
ExtraModuleNames.Add("PG_Framework");
```
### 2. Verify GameplayTags Plugin
@@ -40,8 +40,8 @@ Before any C++ code compiles usefully, create 11 Data Tables in `Content/Framewo
### C++ Class
| | |
|---|---|
| **Header** | `Source/Framework/Public/Core/DA_GameTagRegistry.h` |
| **Source** | `Source/Framework/Private/Core/DA_GameTagRegistry.cpp` |
| **Header** | `Source/PG_Framework/Public/Core/DA_GameTagRegistry.h` |
| **Source** | `Source/PG_Framework/Private/Core/DA_GameTagRegistry.cpp` |
| **Parent** | `UPrimaryDataAsset` |
| **Blueprint Child** | **Not needed** — use directly as a Data Asset instance |
@@ -81,8 +81,8 @@ The BP version required nested `ForEachLoop` over 11 Data Tables. C++ calls `UGa
### C++ Class
| | |
|---|---|
| **Header** | `Source/Framework/Public/Core/FL_GameUtilities.h` |
| **Source** | `Source/Framework/Private/Core/FL_GameUtilities.cpp` |
| **Header** | `Source/PG_Framework/Public/Core/FL_GameUtilities.h` |
| **Source** | `Source/PG_Framework/Private/Core/FL_GameUtilities.cpp` |
| **Parent** | `UBlueprintFunctionLibrary` |
| **Blueprint Child** | **None** — static function library, callable from anywhere |
@@ -115,8 +115,8 @@ Replaces "Get Game Instance → Get Subsystem(Class)" chains everywhere with one
### C++ Class
| | |
|---|---|
| **Header** | `Source/Framework/Public/Core/GI_GameFramework.h` |
| **Source** | `Source/Framework/Private/Core/GI_GameFramework.cpp` |
| **Header** | `Source/PG_Framework/Public/Core/GI_GameFramework.h` |
| **Source** | `Source/PG_Framework/Private/Core/GI_GameFramework.cpp` |
| **Parent** | `UGameInstance` |
| **Blueprint Child to Create** | `BP_GameFramework` (or use `GI_StarterGameInstance` BP for early prototyping) |
@@ -168,8 +168,8 @@ When ready for the full GameInstance:
### C++ Class
| | |
|---|---|
| **Header** | `Source/Framework/Public/Core/GM_CoreGameMode.h` |
| **Source** | `Source/Framework/Private/Core/GM_CoreGameMode.cpp` |
| **Header** | `Source/PG_Framework/Public/Core/GM_CoreGameMode.h` |
| **Source** | `Source/PG_Framework/Private/Core/GM_CoreGameMode.cpp` |
| **Parent** | `AGameModeBase` |
| **Blueprint Child to Create** | `BP_CoreGameMode` |
@@ -213,8 +213,8 @@ Server-authoritative `HasAuthority()` gates are compile-time checked. Chapter tr
### C++ Class
| | |
|---|---|
| **Header** | `Source/Framework/Public/Core/GS_CoreGameState.h` |
| **Source** | `Source/Framework/Private/Core/GS_CoreGameState.cpp` |
| **Header** | `Source/PG_Framework/Public/Core/GS_CoreGameState.h` |
| **Source** | `Source/PG_Framework/Private/Core/GS_CoreGameState.cpp` |
| **Parent** | `AGameStateBase` |
| **Blueprint Child to Create** | `BP_CoreGameState` |
@@ -244,8 +244,8 @@ All 5 variables are fully replicated with `OnRep_` handlers. UI widgets bind to
### C++ Class
| | |
|---|---|
| **Header** | `Source/Framework/Public/Inventory/DA_ItemData.h` |
| **Source** | `Source/Framework/Private/Inventory/DA_ItemData.cpp` |
| **Header** | `Source/PG_Framework/Public/Inventory/DA_ItemData.h` |
| **Source** | `Source/PG_Framework/Private/Inventory/DA_ItemData.cpp` |
| **Parent** | `UPrimaryDataAsset` |
| **Blueprint Child** | **Not needed** — create Data Asset instances per item |
@@ -289,8 +289,8 @@ EItemType Type = Item->ItemType;
### C++ Class
| | |
|---|---|
| **Header** | `Source/Framework/Public/Inventory/BPC_InventorySystem.h` |
| **Source** | `Source/Framework/Private/Inventory/BPC_InventorySystem.cpp` |
| **Header** | `Source/PG_Framework/Public/Inventory/BPC_InventorySystem.h` |
| **Source** | `Source/PG_Framework/Private/Inventory/BPC_InventorySystem.cpp` |
| **Parent** | `UActorComponent` |
| **Blueprint Child to Create** | **None** — attach C++ component directly to player pawn |
@@ -340,8 +340,8 @@ Inv->OnWeightChanged.AddDynamic(this, &UWBP_InventoryMenu::UpdateWeightBar);
### C++ Class
| | |
|---|---|
| **Header** | `Source/Framework/Public/Save/SS_SaveManager.h` |
| **Source** | `Source/Framework/Private/Save/SS_SaveManager.cpp` |
| **Header** | `Source/PG_Framework/Public/Save/SS_SaveManager.h` |
| **Source** | `Source/PG_Framework/Private/Save/SS_SaveManager.cpp` |
| **Parent** | `UGameInstanceSubsystem` |
| **Blueprint Child** | **None** — auto-initialized by UE's subsystem system |
@@ -390,8 +390,8 @@ C++ uses `FArchive` for direct binary serialization. BP `Save Game`/`Load Game`
### C++ Class
| | |
|---|---|
| **Header** | `Source/Framework/Public/Weapons/BPC_DamageReceptionSystem.h` |
| **Source** | `Source/Framework/Private/Weapons/BPC_DamageReceptionSystem.cpp` |
| **Header** | `Source/PG_Framework/Public/Weapons/BPC_DamageReceptionSystem.h` |
| **Source** | `Source/PG_Framework/Private/Weapons/BPC_DamageReceptionSystem.cpp` |
| **Parent** | `UActorComponent` |
| **Blueprint Child to Create** | **None** — attach to player and enemy pawns |
@@ -433,8 +433,8 @@ The damage pipeline (resistance → multiplier → flat reduction → shield →
### C++ Class
| | |
|---|---|
| **Header** | `Source/Framework/Public/Input/SS_EnhancedInputManager.h` |
| **Source** | `Source/Framework/Private/Input/SS_EnhancedInputManager.cpp` |
| **Header** | `Source/PG_Framework/Public/Input/SS_EnhancedInputManager.h` |
| **Source** | `Source/PG_Framework/Private/Input/SS_EnhancedInputManager.cpp` |
| **Parent** | `UGameInstanceSubsystem` |
| **Blueprint Child** | **None** — auto-initialized |
@@ -485,8 +485,8 @@ Input->OnKeyRebound.AddDynamic(this, &UMyClass::OnKeyRebound);
### C++ Class
| | |
|---|---|
| **Header** | `Source/Framework/Public/Player/BPC_StateManager.h` |
| **Source** | `Source/Framework/Private/Player/BPC_StateManager.cpp` |
| **Header** | `Source/PG_Framework/Public/Player/BPC_StateManager.h` |
| **Source** | `Source/PG_Framework/Private/Player/BPC_StateManager.cpp` |
| **Parent** | `UActorComponent` |
| **Blueprint Child to Create** | **None** — attach C++ component directly |
@@ -551,8 +551,8 @@ These 10 classes are **forward-declared** in existing C++ headers as `TObjectPtr
| | |
|---|---|
| **Header** | `Source/Framework/Public/Player/BPC_HealthSystem.h` |
| **Source** | `Source/Framework/Private/Player/BPC_HealthSystem.cpp` |
| **Header** | `Source/PG_Framework/Public/Player/BPC_HealthSystem.h` |
| **Source** | `Source/PG_Framework/Private/Player/BPC_HealthSystem.cpp` |
| **Parent** | `UActorComponent` |
| **Blueprint Child to Create** | `BPC_HealthSystem` — attach to player pawn, implement health logic |
@@ -562,8 +562,8 @@ Provides `CurrentHealth`, `MaxHealth`, `OnHealthChanged` dispatcher, `OnDeath` d
| | |
|---|---|
| **Header** | `Source/Framework/Public/Player/BPC_StaminaSystem.h` |
| **Source** | `Source/Framework/Private/Player/BPC_StaminaSystem.cpp` |
| **Header** | `Source/PG_Framework/Public/Player/BPC_StaminaSystem.h` |
| **Source** | `Source/PG_Framework/Private/Player/BPC_StaminaSystem.cpp` |
| **Parent** | `UActorComponent` |
| **Blueprint Child to Create** | `BPC_StaminaSystem` — attach to player pawn |
@@ -573,8 +573,8 @@ Provides `CurrentStamina`, `MaxStamina`, `OnExhaustionStateChanged` dispatcher.
| | |
|---|---|
| **Header** | `Source/Framework/Public/Player/BPC_StressSystem.h` |
| **Source** | `Source/Framework/Private/Player/BPC_StressSystem.cpp` |
| **Header** | `Source/PG_Framework/Public/Player/BPC_StressSystem.h` |
| **Source** | `Source/PG_Framework/Private/Player/BPC_StressSystem.cpp` |
| **Parent** | `UActorComponent` |
| **Blueprint Child to Create** | `BPC_StressSystem` — attach to player pawn |
@@ -584,8 +584,8 @@ Provides `EStressTier` enum (Calm → Catatonic), `StressTier` property, `OnStre
| | |
|---|---|
| **Header** | `Source/Framework/Public/Player/BPC_MovementStateSystem.h` |
| **Source** | `Source/Framework/Private/Player/BPC_MovementStateSystem.cpp` |
| **Header** | `Source/PG_Framework/Public/Player/BPC_MovementStateSystem.h` |
| **Source** | `Source/PG_Framework/Private/Player/BPC_MovementStateSystem.cpp` |
| **Parent** | `UActorComponent` |
| **Blueprint Child to Create** | `BPC_MovementStateSystem` — attach to player pawn |
@@ -606,8 +606,8 @@ Minimal stubs. Referenced as `TSubclassOf<>` in `GM_CoreGameMode` (05). Set your
| | |
|---|---|
| **Header** | `Source/Framework/Public/Weapons/BPC_HitReactionSystem.h` |
| **Source** | `Source/Framework/Private/Weapons/BPC_HitReactionSystem.cpp` |
| **Header** | `Source/PG_Framework/Public/Weapons/BPC_HitReactionSystem.h` |
| **Source** | `Source/PG_Framework/Private/Weapons/BPC_HitReactionSystem.cpp` |
| **Parent** | `UActorComponent` |
| **Blueprint Child to Create** | `BPC_HitReactionSystem` — attach to player and enemy pawns |
@@ -617,8 +617,8 @@ Provides `PlayHitReaction()` stub, `FlinchThreshold`, `RagdollThreshold`. Refere
| | |
|---|---|
| **Header** | `Source/Framework/Public/Weapons/BPC_ShieldDefenseSystem.h` |
| **Source** | `Source/Framework/Private/Weapons/BPC_ShieldDefenseSystem.cpp` |
| **Header** | `Source/PG_Framework/Public/Weapons/BPC_ShieldDefenseSystem.h` |
| **Source** | `Source/PG_Framework/Private/Weapons/BPC_ShieldDefenseSystem.cpp` |
| **Parent** | `UActorComponent` |
| **Blueprint Child to Create** | `BPC_ShieldDefenseSystem` — attach to player pawn |
@@ -628,8 +628,8 @@ Provides `ShieldHealth`, `MaxShieldHealth`, `BlockAngle`, `bShieldBroken`. Refer
| | |
|---|---|
| **Header** | `Source/Framework/Public/Inventory/DA_EquipmentConfig.h` |
| **Source** | `Source/Framework/Private/Inventory/DA_EquipmentConfig.cpp` |
| **Header** | `Source/PG_Framework/Public/Inventory/DA_EquipmentConfig.h` |
| **Source** | `Source/PG_Framework/Private/Inventory/DA_EquipmentConfig.cpp` |
| **Parent** | `UPrimaryDataAsset` |
| **Blueprint Child** | **Not needed** — create Data Asset instances per equipment item |
@@ -639,8 +639,8 @@ Provides `FDamageTypeResistance` struct array, `Durability`, `Weight`, `GetResis
| | |
|---|---|
| **Header** | `Source/Framework/Public/State/DA_StateGatingTable.h` |
| **Source** | `Source/Framework/Private/State/DA_StateGatingTable.cpp` |
| **Header** | `Source/PG_Framework/Public/State/DA_StateGatingTable.h` |
| **Source** | `Source/PG_Framework/Private/State/DA_StateGatingTable.cpp` |
| **Parent** | `UPrimaryDataAsset` |
| **Blueprint Child** | **Not needed** — create one Data Asset instance with 37 gating rules |
@@ -752,4 +752,4 @@ All `BPC_*` specs except the 4 fully converted C++ classes (InventorySystem, Dam
---
*C++ Integration Guide v1.0 — Companion to Source/Framework/ source files.*
*C++ Integration Guide v1.0 — Companion to Source/PG_Framework/ source files.*