<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" />

Introduction and System Architecture

</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.

image.png


"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" />

1. Core: BPC_Shooter_System

</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:


<aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />

2. Actor Polymorphism

</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>

A. Characters (Humanoids)

Enables advanced infantry logic:

<aside>

B. Vehicles / Pawns (Machinery)

Enables simplified logic for mechanical units:


<aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />

3. Weapon Architecture

</aside>


The arsenal uses a strict class hierarchy derived from 🟦 BP_Weapon_Master, avoiding Data Tables for logic.

<aside>

A. Light Weapons (LW)

Children of 🟦 BP_LW_Master. Designed for characters.

<aside>

B. Heavy Weapons (HW)

Children of 🟦 BP_HW_Master. Designed for vehicles.


<aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />

4. Ballistics and Feedback

</aside>


<aside>

The firing system manages two types of projectiles:

<aside>

User Interface (UI)

Visual feedback is centralized in the widget 🟦 WBP_Shooter_Hud.


<aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />

5. Modular Integration

</aside>


The MSS communicates with external systems exclusively via interfaces to avoid direct dependencies: