How To Add a Melee Weapon Skin
This guide explains how to create a new melee weapon skin using BP_DA_Weapon_Skins, hook it into the melee weapon’s inventory DataAsset, and set up icon textures for the skin.
For melee skins you do not need modification‑specific icons or Texture2DArray – only the base skin materials and single icon textures.
1. Overview
Melee weapon skins are configured through DataAssets that inherit from BP_DA_Weapon_Skins, which itself derives from BP_DA_Skins.
BP_DA_Skinsholds shared visual parameters (materials, icons).BP_DA_Weapon_Skinsadds weapon‑specific configuration (for firearms it includesModificationSkins, but for melee we can ignore modification‑related settings).
To make a melee weapon skin functional, you need to:
- Create a
BP_DA_Weapon_SkinsDataAsset with proper naming. - Configure base skin parameters (
BP_DA_Skinsfields). - Set up a single icon (regular and/or custom resolution).
- Register the skin in the melee weapon’s inventory DataAsset (
SimpleVisualizationSkinsarray).
For melee skins you do not fill:
- ModificationSkins
- Icons Regular Resolution (Texture2DArray)
- Icons Custom Resolution (Texture2DArray)
2. Naming and Asset Types
2.1. DataAsset naming convention
For melee weapon skin DataAssets, use the same naming pattern as for firearms:
DA_Skin_<WeaponAbbreviation>_<SkinName>
Examples:
DA_Skin_SWD_BasicDA_Skin_SWD_ShieldGold
This makes it easy to search by weapon abbreviation and clearly separates skins from other DataAssets.
2.2. Core classes involved
-
BP_DA_Skins
Base skin DataAsset, contains generic skin parameters (materials, icon textures, etc.). -
BP_DA_Weapon_Skins(inherits fromBP_DA_Skins)
Weapon‑specific skin DataAsset. For melee we use only:- All
BP_DA_Skinsfields (materials, icons, etc.). - We do not use
ModificationSkinsfor melee.
- All
-
Melee weapon inventory‑type DataAsset
The inventory DataAsset of the melee weapon (child ofBP_IIMaster/BP_IICSkinsMaster) that contains aSimpleVisualizationSkinsarray.
3. BP_DA_Skins Parameters (Base Melee Skin)
BP_DA_Weapon_Skins inherits all fields from BP_DA_Skins. You should understand and fill these first.
3.1. Abbreviation
Field: Abbreviation
Short, unique skin identifier (string). Used by UI and scripted actions to identify the skin.
Examples:
SWD_BASICSWD_SHLD_GOLD
Make sure abbreviations are unique per skin.
3.2. InteractActorMaterials
Field: InteractActorMaterials (TArray<UMaterialInterface>)
List of materials applied to the StaticMesh component of the interact actor (world representation of the weapon, pickup mesh).
Typical usage:
- When the melee weapon is lying in the world as a pickup actor, this array defines which materials are applied to its static mesh component under this skin.
3.3. Connect Object
Field: Connect Object (TMap<int32, TArray<UMaterialInterface>>)
Maps skeletal mesh component indices to arrays of materials for connect actors, such as BP_Connect_Weapon (in‑hand representation).
Default for BP_Connect_Weapon:
- Index
0–MainSkeletalMeshComponent - Index
1–SecondSkeletalMeshComponent(if used; e.g. sword + shield)
Filling rules for melee:
- Single skeletal mesh melee weapon (e.g. only a sword):
- Only
MainSkeletalMeshComponentis used. - Add entry:
- Key
0→ materials forMainSkeletalMeshComponent.
- Key
- Only
- Dual skeletal mesh melee weapon (e.g. sword + shield where
Second Skeletal MeshinBP_Melee_W_Master_Claris not empty):- Add both entries:
- Key
0→ materials forMainSkeletalMeshComponent(sword). - Key
1→ materials forSecondSkeletalMeshComponent(shield).
- Key
- Add both entries:
3.4. Connect To Body Object
Field: Connect To Body Object (TMap<int32, TArray<UMaterialInterface>>)
Same idea as Connect Object, but for back weapon actors like:
BP_WeaponBackBP_DoubleWeaponBack
Filling rules:
- Single back weapon actor (
BP_WeaponBack):- Use key
0→ materials for the back weapon mesh (single melee mesh on the back).
- Use key
- Double back weapon actor (
BP_DoubleWeaponBack):- Use keys
0and1for the two back meshes, mirroring the logic inConnect Object:- Key
0→ materials for main back mesh (sword). - Key
1→ materials for second back mesh (shield).
- Key
- Use keys
3.5. Icon fields for melee
For melee skins we only use single icon textures, not Texture2DArray:
Fields to fill:
Icon Regular Resolution(UTexture2D)
Single icon texture in regular resolution.- This can be:
- A manually created texture, or
- A texture generated by the Simple Item Icon Generator (e.g.
BP_EngineSimpleItemIconGener) used as a static icon.
- This can be:
Icon Custom Resolution(UTexture2D)
Single icon texture in custom resolution (optional).- Use this if you have UI screens that require non‑standard icon sizes.
Fields to leave empty for melee skins:
Icons Regular Resolution(Texture2DArray)Icons Custom Resolution(Texture2DArray)
These are used for firearms with many modification combinations and are not needed for melee skins.
4. Creating BP_DA_Weapon_Skins for a Melee Weapon
Step 1. Create the DataAsset
-
In Content Browser: Right‑click → Miscellaneous → Data Asset.
-
Select
BP_DA_Weapon_Skinsas the parent class. -
Name the new asset following the convention:
DA_Skin_<WeaponAbbreviation>_<SkinName>
Example:
DA_Skin_SWD_BasicDA_Skin_SWD_ShieldGold
Step 2. Fill basic skin parameters
Open the newly created DA_Skin_... and fill base BP_DA_Skins fields:
Abbreviation- Enter a short, unique code matching your naming (e.g.
SWD_BASIC).
- Enter a short, unique code matching your naming (e.g.
InteractActorMaterials- Add materials that should be applied to the StaticMesh of the melee interact actor (sword+shield pickup) for this skin.
Connect Object- If the melee weapon uses a single skeletal mesh component (only
MainSkeletalMeshComponent):- Add key
0→ materials forMainSkeletalMeshComponent.
- Add key
- If the melee weapon uses two components (
MainSkeletalMeshComponent+SecondSkeletalMeshComponent, e.g. sword + shield):- Add key
0→ materials forMainSkeletalMeshComponent(sword). - Add key
1→ materials forSecondSkeletalMeshComponent(shield).
- Add key
- If the melee weapon uses a single skeletal mesh component (only
Connect To Body Object- For
BP_WeaponBack:- Add key
0→ materials for the back weapon mesh.
- Add key
- For
BP_DoubleWeaponBack:- Add keys
0and1, just like inConnect Object:- Key
0→ materials for main back mesh (sword). - Key
1→ materials for second back mesh (shield).
- Key
- Add keys
- For
- Icon fields
Icon Regular Resolution: assign aUTexture2Dwith the main inventory icon for this skin (from a Simple Item Icon Generator or a pre‑made texture).Icon Custom Resolution(optional): assign aUTexture2Dwith a custom‑size icon if needed by your UI.
At this point the melee skin will work for world / connect / back actors in terms of materials and will have a correct single icon in the inventory UI.
5. What You Can Ignore for Melee Skins
For melee weapons you do not need the firearm‑specific icon pipeline:
- Do not fill
ModificationSkins(melee usually has no modular parts like scopes/silencers that change skin per part). - Do not fill:
Icons Regular Resolution(Texture2DArray)Icons Custom Resolution(Texture2DArray)
If in the future you decide to have modular melee weapons with separate modification skins, you can reuse the firearm icon workflow, but it is not required for standard melee skins.
6. Hooking the Melee Skin into the Weapon Inventory DataAsset
To make the melee skin visible and selectable in the game, it must be registered in the melee weapon’s inventory‑type DataAsset.
Step‑by‑step
-
Open the melee weapon’s inventory‑type DataAsset
- This is the DataAsset that inherits from
BP_IIMaster/BP_IICSkinsMasterand is assigned in the item’s Inventory Data field.
- This is the DataAsset that inherits from
-
Find the array:
SimpleVisualizationSkins
-
Add your
DA_Skin_...(melee weapon skin DataAsset) toSimpleVisualizationSkins.
Result:
- The melee weapon:
- Knows about this skin as one of its visualization skins.
- Can use this skin in UI, inventory, and runtime (interact actor, connect actor, back actor).
- Uses
BP_DA_Weapon_Skinsto retrieve the correct materials and icon textures.
7. Sanity Checklist for a Melee Skin
Before committing the new melee skin, verify:
- Naming
DA_Skin_<WeaponAbbreviation>_<SkinName>is used consistently.AbbreviationinDA_Skin_...is unique and matches what you expect in tools/UI.
- Materials
InteractActorMaterialsare correctly set for the melee interact actor (pickup).Connect Object:- Key
0maps to materials forMainSkeletalMeshComponent. - Key
1is present only ifSecondSkeletalMeshComponentis actually used (sword + shield).
- Key
Connect To Body Object:- For
BP_WeaponBack, only key0is used. - For
BP_DoubleWeaponBack, keys0and1are correctly filled.
- For
- Icons
Icon Regular Resolutionpoints to a validUTexture2Dicon (from your Simple Item Icon Generator or a static texture).Icon Custom Resolutionis filled only if your UI needs a special icon size.Icons Regular Resolution/Icons Custom Resolution(Texture2DArray) are not filled for a simple melee skin.
- Inventory registration
- Your
DA_Skin_...is added to the melee weapon’s inventory DataAsset inSimpleVisualizationSkins.
- Your
If all items in this checklist are satisfied, the new melee weapon skin should be fully functional in inventory, in the world, on the character’s back, and in all runtime visual contexts for that melee weapon.