Skip to main content

How It Works

  1. Each equipment slot references a SkeletalMeshComponent
  2. When an item is equipped, its mesh is applied to that component
  3. Materials can be overridden based on rarity
  4. Body parts can be hidden to prevent clipping

Setting Up Mesh Components

Blueprint:
  1. Add skeletal mesh components to your character:
  2. Set up attachment:
    • Parent each component to appropriate sockets
    • Head_Mesh → head socket
    • Chest_Mesh → spine_03 socket
    • MainHand_Mesh → hand_r socket
    • etc.
  3. Configure mesh components:
    This makes equipment follow the main skeleton’s animation.

Mesh Variants

Items store their meshes in a SkeletalMeshes map on ItemDataAsset, keyed by FName. When equipment is applied to a slot, the system resolves the mesh key in this order:
  1. Slot name (spaces removed) — e.g., "Helmet", "MainHand"
  2. Tag last component — last segment of the slot’s RequiredTag, e.g., "Head" from Items.Equipment.Head
  3. *"Default"** — fallback key
  4. *"Slot0", "Slot1", …** — slot index as string
  5. First available mesh in the map
Items can have different meshes for different character types: In ItemDataAsset:
In EquipmentComponent:

Material Overrides

Apply different materials based on rarity: 47425c27300e9af65b257f77c2d962db.png In ItemDataAsset:
When a Rare helmet is equipped, it automatically uses the blue material.

Manual Visual Update

Force update visuals: Blueprint:
C++:

Body Part Hiding

Overview

When equipment is worn, you may want to hide parts of the character mesh to prevent clipping (e.g., hide hair under helmet).

Configuration

In ItemDataAsset:
In Equipment Slot Definition:

How It Works

When equipment is equipped:
When equipment is unequipped:

Mesh Part Names

Common mesh part names (depends on your skeletal mesh):
  • Hair
  • Head
  • Eyebrows
  • Beard
  • FacialHair
  • Torso
  • Arms
  • Legs
Check your character’s skeletal mesh to find the exact material slot names.