Skip to content

Control Rig and Lyra

Unreal Engine 5 Control Rig can drive a skeletal mesh every frame. UEGoreSystem adds a Gore Update node you drop into that graph so hidden / broken limbs stay in sync with the live character.

Use this path when:

  • the character is hidden / shown through Control Rig (Lyra, procedural mannequins)
  • HideBoneByName on the leader mesh is not enough
  • you enabled Control Rig Procedural on the gore component

If you only use a standard AnimBP and HideBoneByName, you can skip this page.


Gore Update node

Version 3.2 added Gore Update (FRigUnit_GoreUpdate) to any Control Rig.

Gore Update node

Install it

  1. Open the Control Rig used by the character.
  2. Add Gore Update to the solver / forward-solve graph.

Add the node

  1. Run that Control Rig from the animation pipeline , usually the Post Process Anim Blueprint on the skeletal mesh.

Post Process AnimBP

  1. On the gore component, enable Control Rig Procedural.

The node reads Visually Hidden Bones on the owner’s UEGoreSystem component. The source limb stays visible until the detached mesh is shown, then the rig collapses / hides it. That avoids a one-frame hole between hide and spawn.

The plugin includes CR_Mannequin_ProceduralGore for the UE mannequin. MetaHuman / custom rigs: copy the node into your own Control Rig.


Lyra

Lyra’s hero is a leader pose mesh (often invisible) plus cosmetic meshes swapped at runtime. The gore component must be told which mesh the player actually sees.

Setup

  1. Open the Lyra project and enable UEGoreSystem.

Enable the plugin

  1. Open B_Hero_ShooterMannequin
    (Plugins/ShooterCore/Game).

Hero Blueprint

  1. Add UEGoreSystem and call Init on the mesh you want as the pose source.

Add the component

Init

  1. Fill Gore Settings. Bone names must match the Lyra mannequin.

Gore Settings

  1. Create a Global Anim Instance for the Lyra skeleton (do not reuse the UE4 example AnimBP unless the skeletons match).

Lyra limb AnimBP

  1. Open ABP_Manny_PostProcess
    (Content/Characters/Heroes/Mannequin/Rigs).
    Append a Control Rig node and select CR_Mannequin_ProceduralGore from the plugin.

Manny post process

  1. Repeat for ABP_Quinn_PostProcess.

Quinn post process

  1. Search for GCNL_Character_DamageTaken and open it.

GCNL_Character_DamageTaken

In the main Event Graph call Apply Gore Damage with the hit bone / location / normal from Lyra’s damage event.

ApplyGoreDamage in GCNL

  1. PIE and confirm hits register. The next two sections fix the issues you will see immediately.

First play

Invisible limbs

Lyra cosmetics sit on a mesh that is not the one Init found. Spawned limbs copy that invisible mesh and disappear.

  1. On B_Hero_ShooterMannequin, handle On Character Parts Changed.
  2. Call Set Visual Mesh Component with the new cosmetic skeletal mesh every time parts change.

SetVisualMeshComponent

Blood that survives the dissolve

On death Lyra dissolves the hero. Attached spill Niagara stays in the world.

Spill left after dissolve

  1. Select Health Component on B_Hero_ShooterMannequin.
  2. Bind On Death Started.
  3. Call Destroy All Attached Gore FXs.
  4. Deactivate the gore component so stray projectiles during the dissolve do not spawn new emitters.

Health component

OnDeathStarted

DestroyAllAttachedGoreFXs

Deactivate

The weapon falls off

Breaking upperarm_r, lowerarm_r, or hand_r detaches the armed hand. The practical fix is to leave those bones out of Body Map (or out of Ignore Is Dead) so a kill never severs the weapon arm.


Videos