Preserved for posterity - do not use this
With ArchiveXL 1.14, this information is outdated. It will be preserved for posterity, but you should use the current method under ArchiveXL: body mods and refits instead.
In any of the files you modded, check your components:
morphtargetComponent?Yes:
Add a tag with the exact name of your body in this component's tag array (for our example, NewBody)
No:
Add a new component (of any type) and give it the following name:
Body:NewBody
If you edit the leg component for female V, you must change both the regular and the flat feet component:
base\characters\common\player_base_bodies\appearances\l0_000_base__full.app
base\characters\common\player_base_bodies\appearances\l0_000_base__cs_flat.app
The files below have been confirmed to work — make the changes stated above to each of them:
base\characters\common\player_base_bodies\appearances\l0_000_base__cs_flat.app
base\characters\common\player_base_bodies\appearances\l0_000_base__full.app
base\characters\common\player_base_bodies\appearances\l0_000_base_fpp__cs_flat.app
base\characters\common\player_base_bodies\appearances\l0_000_base_fpp__full.app The list of files below is known to be incomplete. At the very least it will not cover Male V as they appear in a mirror. Even more so than for Female V, please use the currently recommended patching based method.
base\characters\common\player_base_bodies\appearances\t0_000_base__full.app
base\characters\common\player_base_bodies\appearances\t0_000_base__full_censored.app
base\characters\common\player_base_bodies\appearances\t0_000_fpp__full.app
base\characters\common\player_base_bodies\appearances\t0_000_fpp__full_censored.appAfter packing your project, check if the body tag registers by running the CET command.
If yes, you're good to go!
If not and you have used a component, check if it's added to the playerPuppet, either via CET:
print(GetPlayer():FindComponentByName("Body:NewBody"))or via RedHotTools:

Published: ?? by Last documented update: April 21 2025 by LadyLea Minimum required ArchiveXL version: 1.5
This page explains how to enable body mod support in ArchiveXL:
Clothing mods: Making use of the tags
To learn more about body mods, check the Texture Frameworks for Player V page.
Run the following code snippet in CET to see which body is currently installed:
print(Game.GetScriptableSystemsContainer():Get("PuppetStateSystem"):GetBodyTypeSuffix(ItemID.new(), GetPlayer(), nil))Starting with version 1.14, you can use ArchiveXL: Resource patching to inject your tags into the existing files!
You can download the template from Nexus, or create one yourself.
Create an .xl file in your Wolvenkit Project's resources folder (File -> New file -> ArchiveXL)
Optional: Name it the same as your current project (e.g. boobs_for_back_problems.archive.xl)
Put the following file content:
player:
bodyTypes: [ NewBody ] # for substitutions, this will be converted
# to snake case: new_bodyWe'll make use of ArchiveXL: Resource patching for this.
If you downloaded the template project, a patch .ent will already be included.
Inside the patch .ent, find the entMeshComponent under the components array.
Change its name to match your body mod, e.g. Body:BoobsForBackProblems -> Body:NewBody
Make sure that your patch .ent is added to the game by telling ArchiveXL about it. Add the following block to your .xl file:
resource:
patch:
path\to\your\patch_file.ent:
- !include player_wa.ent
- !include player_ma.ent Include only the relevant body gender!
That's it, everything should work now! Let's test.
Launch the game and load into a save
check if the body tag registers by running the CET command.
If yes: Congratulations, you've made it much easier for people to add refits for your body!
The process is so simple that there aren't many things to go wrong:
Update ArchiveXL
Double-check your .yaml via yamllint and make sure you don't have syntax errors (indent matters)
Check ArchiveXL's log file
If that doesn't work, check if the component gets added correctly. There are two ways to do this:
print(GetPlayer():FindComponentByName("Body:NewBody"))If that still doesn't work, consider using the template from Nexus, which has been tried and tested on May 18 2024 with ArchiveXL
Make sure that your mesh has appearances and materials. If you are using ArchiveXL: Resource patching, it's easy to forget a new body's mesh in the list like a gonk. This has never happened to the author, by the way.
Even with the AKL AutoRefitter, the process of supporting body mods is tedious. And even worse: you then have to pack everything separately for Nexus:
If a mod supports body tags, ArchiveXL can detect the current body mod, and conditionally load the correct mesh. Now, everything can be put into a single .archive!
If you're using dynamic appearances, you don't need to register a suffix and can simply match or substitute for the body tag:
appearance name:
t0_recoloured_netrunner_suit&body=new_body
substitution:
*my\mod\meshes\p{gender}a_netrunning_suit_{body}.meshIf no body mod is installed, the value will be base_body, so make sure to name your files and folders accordingly!
NOTE: base_bodyis also meant for body mods that are vanilla based shaped - for instance EVB and VTK Vanilla HD FemV
If you're sticking to the classical approach, you need to add the following lines to your .yaml:
appearanceSuffixes:
- !append itemsFactoryAppearanceSuffix.BodyTypeNow, you can use the suffixes in your root entity just like camera states or body genders:
appearanceName: my_custom_shirt&FPP&NewBodyThe following body mods support dynamic body switching.
Adonis
&body=adonis
Atlas
&body=atlas
Gymfiend
&body=gymfiend
Lush
&body=lush
Lush
&body=lush
Ult
&body=ult
Solo_OG
&body=solo_og
SoloArms
&body=soloarms
Song2
&body=song2
Flat
&body=flat
ELEGY
&body=elegy
RB
&body=rb
EBB
&body=ebb
EBBP
&body=ebbp
EBBRB
&body=ebbrb
EBBPRB
&body=ebbprb
Angel
&body=angel
**
EVB
&body=evb
**
VHD
&body=vhd
**NOTE: These tags are not required unless your mod specially modifies body meshes for these body mods. Otherwise the value is base_bodysince these bodies are Vanilla shaped (see official mod page for further info.)
Small Big
&body=small
&body=big

