Blueprint Quickstart
This guide explains how to use the Unreal Master Kit plugins entirely in Blueprints.
Enabling the Plugins
- In the Unreal Editor open Edit > Plugins.
- Search for Limb Health System, Armor System, Projectile System, and Damage System.
- Enable each plugin and restart the editor when prompted.
Adding Components to Your Character
- Open your character Blueprint.
- Add the following components:
AbilitySystemComponent
(if your project uses GAS)LimbSystemComponent
ArmorSystemComponent
DamageRouterComponent
- Compile and save the Blueprint.
Equipping Armor Pieces
- From the
ArmorSystemComponent
node, callServer Equip Armor
. - Provide the
UArmorArchetypeDataAsset
, desired quality, and slot tag. - To unequip, call
Server Unequip Armor
with the slot tag.
Spawning and Handling Projectiles
- In your weapon Blueprint call
Spawn Projectile From Archetype
(PDS) or spawn anABaseProjectile
subclass. - Pass the
UProjectileArchetypeDataAsset
and spawn transform. - The projectile automatically uses
DamageRouterComponent
on hit targets.
Applying and Reacting to Limb Damage
DamageRouterComponent
forwards hits to theLimbSystemComponent
.- Bind to the
On Limb Damaged
event on the limb system component to trigger reactions. - Apply damage directly by calling
Apply Damage To Limb
with a limb tag and amount.
Blueprint-Accessible APIs
The plugins expose several Blueprint-callable classes and functions:
UDamageRouterComponent
–Process Damage Event
, pre/post damage events.ULimbSystemComponent
–On Limb Damaged
,On Character Killed
, and damage application functions.UArmorSystemComponent
–Server Equip Armor
,Server Unequip Armor
.ABaseProjectile
andSpawn Projectile From Archetype
for projectile spawning.- Data assets such as
UArmorArchetypeDataAsset
,UMaterialTypeDataAsset
,UProjectileArchetypeDataAsset
, andUMedicalItemDataAsset
.
With these nodes you can implement equipping, projectile firing, and limb damage entirely in Blueprints.
Core Plugin Features
Damage System (DS)
- Centralized Damage Data –
FDamageContext
carries projectile, armor, and health results. - Ordered Processing –
UDamageRouterComponent::ProcessDamageEvent()
enforces a consistent flow. - Decoupling – Other plugins depend only on these shared types and routing APIs.
- Shared Core Types – Enums and structs in
DamageSystemTypes.h
andItemSystemTypes.h
.
Limb Health System (LHS)
- Limb-Based Health with GAS attributes for each limb.
- Stamina Management and regeneration.
- Status Effects & Conditional States through Gameplay Effects and tags.
- Medical Item Framework using
UMedicalItemDataAsset
definitions. - Server-Authoritative Design for replicated health logic.
Armor System (AS)
- Equippable Armor pieces with durability.
- Quality Tiers via
EItemInstanceQuality
modifiers. - Material-Based Mitigation using
UMaterialTypeDataAsset
factors. - Limb Coverage defined by
CoverageTags
. - GAS Integration granting passive effects while equipped.
Projectile System (PDS)
- Diverse Projectile Types (
Hitscan
,PhysicalBullet
, etc.). - Varied Round Types such as
FMJ
,AP
, orIncendiary
. - Data-Driven Archetypes via
UProjectileArchetypeDataAsset
. - Advanced Ballistics including ricochet, spall, and penetration.
- Object Pooling Support for efficient reuse of projectile actors.
Data Tables and Types
Unreal Master Kit relies on several data table formats:
UCharacterAttributeSet
Stats Table – CSV defining starting health and stamina values.- Gameplay Effect Tables – JSON mapping effect classes to default levels.
UProjectileArchetypeDataAsset
– JSON describing mass, caliber, velocity, and damage.UArmorArchetypeDataAsset
– CSV specifying durability and limb coverage.
Refer to Data Table Reference for complete examples. Core enums such as ERoundType
, EProjectileType
, and EItemInstanceQuality
are declared in DamageSystemTypes.h
and ItemSystemTypes.h
.
Class Diagram
The relationships among the main classes are shown below.