Blueprint Quickstart
This guide explains how to use the FPS 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)LimbSystemComponentArmorSystemComponentDamageRouterComponent
- Compile and save the Blueprint.
Equipping Armor Pieces
- From the
ArmorSystemComponentnode, callServer Equip Armor. - Provide the
UArmorArchetypeDataAsset, desired quality, and slot tag. - To unequip, call
Server Unequip Armorwith the slot tag.
Spawning and Handling Projectiles
- In your weapon Blueprint call
Spawn Projectile From Archetype(PDS) or spawn anABaseProjectilesubclass. - Pass the
UProjectileArchetypeDataAssetand spawn transform. - The projectile automatically uses
DamageRouterComponenton hit targets.
Applying and Reacting to Limb Damage
DamageRouterComponentforwards hits to theLimbSystemComponent.- Bind to the
On Limb Damagedevent on the limb system component to trigger reactions. - Apply damage directly by calling
Apply Damage To Limbwith 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.ABaseProjectileandSpawn Projectile From Archetypefor 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 –
FDamageContextcarries 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.handItemSystemTypes.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
UMedicalItemDataAssetdefinitions. - Server-Authoritative Design for replicated health logic.
Armor System (AS)
- Equippable Armor pieces with durability.
- Quality Tiers via
EItemInstanceQualitymodifiers. - Material-Based Mitigation using
UMaterialTypeDataAssetfactors. - 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
FPS Master Kit relies on several data table formats:
UCharacterAttributeSetStats 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.