Blueprint Quickstart

This guide explains how to use the Unreal Master Kit plugins entirely in Blueprints.

Enabling the Plugins

  1. In the Unreal Editor open Edit > Plugins.
  2. Search for Limb Health System, Armor System, Projectile System, and Damage System.
  3. Enable each plugin and restart the editor when prompted.

Adding Components to Your Character

  1. Open your character Blueprint.
  2. Add the following components:
    • AbilitySystemComponent (if your project uses GAS)
    • LimbSystemComponent
    • ArmorSystemComponent
    • DamageRouterComponent
  3. Compile and save the Blueprint.

Equipping Armor Pieces

  1. From the ArmorSystemComponent node, call Server Equip Armor.
  2. Provide the UArmorArchetypeDataAsset, desired quality, and slot tag.
  3. To unequip, call Server Unequip Armor with the slot tag.

Spawning and Handling Projectiles

  1. In your weapon Blueprint call Spawn Projectile From Archetype (PDS) or spawn an ABaseProjectile subclass.
  2. Pass the UProjectileArchetypeDataAsset and spawn transform.
  3. The projectile automatically uses DamageRouterComponent on hit targets.

Applying and Reacting to Limb Damage

  1. DamageRouterComponent forwards hits to the LimbSystemComponent.
  2. Bind to the On Limb Damaged event on the limb system component to trigger reactions.
  3. 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:

  • UDamageRouterComponentProcess Damage Event, pre/post damage events.
  • ULimbSystemComponentOn Limb Damaged, On Character Killed, and damage application functions.
  • UArmorSystemComponentServer Equip Armor, Server Unequip Armor.
  • ABaseProjectile and Spawn Projectile From Archetype for projectile spawning.
  • Data assets such as UArmorArchetypeDataAsset, UMaterialTypeDataAsset, UProjectileArchetypeDataAsset, and UMedicalItemDataAsset.

With these nodes you can implement equipping, projectile firing, and limb damage entirely in Blueprints.

Core Plugin Features

Damage System (DS)

  • Centralized Damage DataFDamageContext carries projectile, armor, and health results.
  • Ordered ProcessingUDamageRouterComponent::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 and ItemSystemTypes.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, or Incendiary.
  • 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.