PartsOverrides, visual tags, and how to use them
Published: November 12 2022 by Last documented update: January 21 2024 by
This page will teach you how your clothing can influence other clothing items, for example hiding the sleeves under a jacket. You have to do this manually for every item that you want to affect, a much better way to address the problem is the game's Garment Support system.
This guide will explain how to influence meshes by directly in the .app file, overriding whatever is defined for the components in the .ent file which loads them.
For even further customization options for wardrobe items, see EquipmentEx's readme.
Cyberpunk 2077 uses a clever system to layer clothes on top of each other while minimizing clipping. It's called GarmentSupport, and as of 2024, it's almost completely functional.
To use it with your clothing item, you need to change the component names to use the right prefixes. Check the #component-prefixes section on Garment Support: How does it work? for details.
To learn how to hide things via PartsOverrides, check #chunkmasks-partially-hiding-meshes
You can't use PartsOverrides on components defined in the same .app file. Either use components from other files, or load them #mesh-component-entity-simple-entity
In the .app file, each appearance lets you define #partsoverrides, which — as the name implies — let you override previously defined components. An entry looks as follows:
Where partsValues lets you define the individual entity files that you'll load, partsOverrides lets you assign properties which take precedence over those defined in the .ent file:
Components need to be unambiguously identified by their name as defined in the .ent file. For that reason, it's good practice to have globally unique identifiers.
You can make use of ArchiveXL: Suffixes and Substitutions for your components.
Due to cyberware, V has more arms than Shiva the Destroyer (although not at the same time). Arms are why we can't have nice things.
The player base body component name is
Normally, you can override only components from .ent files that you include via partsValues in the same appearance. ArchiveXL expands this by letting you manipulate any components that are loaded as part of the player.ent:
To delete an already existing reference, set the numeric value to the right of the depot path to 0:
These can be used in addition to PartsOverrides and will let you influence your item even further. To learn more about Garment Support: How does it work?, read #the-algorithm.
This mechanism is how e.g. your sunglasses disappear when you put on a helmet.
Visual tags in the root entity will get applied to every appearance in the app.
The following tags are used by the base game; however, to make use of them, you require ArchiveXL.
With visual tags, you can force-show hair, hide an item in first person, or turn body parts on and off. Find the full list under ArchiveXL: Tags
If you want to un-hide chunks rather than hiding them, you need to define a custom tag via ArchiveXL. See #adding-custom-tags for details.
You can find arm component names on Cheat Sheet: Body -> #arms. Alternatively, you can browse the corresponding entity files in the by base\characters\common\player_base_bodies > .ent
, the file names will start with a0_.
However: Due to technical limitations, any visual tags that hide parts of the mesh must go into the .app file to take effect. will warn you about this.