777 GS - Limb Damage System

Example with assets and blood VFX (not included)
How to Separate a Mesh in UE Without 3D Modeling Skills


This is my Limb Damage System, originally developed for my own project, which I decided to make available for others.

The goal of this asset is to provide a system similar to Resident Evil 4, where you can shoot off limbs (arms, legs, head, etc.) and trigger your own custom logic whenever a limb is separated.

The system is implemented as a component that you can easily attach to any character. In the component’s details panel, you can configure things such as:

  • Bone names

  • Which limb mesh to spawn

  • What VFX to spawn
    The system includes built-in dispatchers that automatically fire events when specific conditions are met. These include:

    • OnReceiveDamage – triggered whenever the character takes damage

    • OnStagger – triggered when stagger threshold is reached

    • OnDeath – triggered when the character dies

    • OnLimbDetached – triggered when a limb is destroyed

    • OnDropWeapon – triggered when a weapon-holding limb is destroyed

    • OnCustomVFXSpawn – triggered for custom visual effects

    This means you don’t have to manually hook everything up — you just bind your own logic to these dispatchers.

For example, if the right leg is shot off, the system will trigger an event with the limb’s name. You can then use that event to implement your own logic, such as switching the enemy from walking to crawling.

The system is fully data-table driven:

  • Set individual limb health values.

  • Configure stagger thresholds and multipliers (e.g., the head has a 1.2 damage multiplier, so it takes 20% more damage).

  • Define whether a limb is lethal — for example, if the head is destroyed, the enemy dies instantly.

I also included example implementations to show how the system can be expanded:

  • Custom death logic: when the head is destroyed, the zombie keeps walking forward briefly before collapsing.

  • Stagger system: enemies can be staggered, with stagger values declining over time (you can completely disable this if you don’t want it).

  • Weapon drop logic: if the hand is destroyed and is configured in the data table, the enemy will drop its weapon.

⚠️ Important Note: This version currently spawns static meshes for separated limbs, which may not be ideal in every project. However, you can easily swap the spawn logic to use skeletal meshes instead. I may update this in the future with a bool option in the component settings.

Finally, I’ve also included a step-by-step tutorial video on how to separate limbs from a mesh directly inside Unreal Engine, without requiring any 3D modeling skills.