<aside> <img src="/icons/key-antique_gray.svg" alt="/icons/key-antique_gray.svg" width="40px" />
<aside> <img src="/icons/triangle-alternate_gray.svg" alt="/icons/triangle-alternate_gray.svg" width="40px" />
</aside>
The Multiplayer Shooter System (MSS) is a modular framework based on components (Component-Based Architecture) designed to implement replicated shooting mechanics in Unreal Engine 5.
The system resides in Content/DMD/Blueprints/Components/Shooter_System/. Its design centralizes all combat logic into a single component, decoupling mechanics from the Pawn to allow implementation in Characters, Vehicles, or Turrets via composition.

"A flow diagram where the BPC_Shooter_System is at the center. It receives inputs from the Player Controller. It controls the BP_Weapon_Master, and the system communicates with the Animation Blueprint via Interfaces."
<aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />
</aside>
The heart of the system is the Actor Component 🟦 BPC_Shooter_System. This component acts as the main state manager and does not require inheritance in the character class.
Its core responsibilities are:
Throwing (Grenades), Reloading, or WallBlocked.<aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />
</aside>
The system automatically adapts its behavior based on the variable 🟩 Actor_Type (based on the enumerator 🟨 ENU_Actor_Type). This divides the architecture into two flows:
<aside>
Enables advanced infantry logic:
<aside>
Enables simplified logic for mechanical units:
Pickup) or human animations.
</aside><aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />
</aside>
The arsenal uses a strict class hierarchy derived from 🟦 BP_Weapon_Master, avoiding Data Tables for logic.
<aside>
Children of 🟦 BP_LW_Master. Designed for characters.
Sleep) to save performance.<aside>
Children of 🟦 BP_HW_Master. Designed for vehicles.
<aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />
</aside>
<aside>
The firing system manages two types of projectiles:
Projectile). They manage their own damage and impact VFX.Laser).
</aside><aside>
Visual feedback is centralized in the widget 🟦 WBP_Shooter_Hud.
Current_Dispersion) based on movement and firing.
</aside><aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />
</aside>
The MSS communicates with external systems exclusively via interfaces to avoid direct dependencies: