ArchiveXL: Tags

Summary

This page will tell you about tags and how they can be used to influence item behaviour. It also teaches you how Adding custom tags can help you conditionally un-hide items.

Wait, this is not what I want!

What do tags do?

Tags are a way to tell Cyberpunk that an item has certain properties and should behave in a certain way. This makes the game apply properties to your items, which can then be utilized by the game and ArchiveXL to

  • hiding V's junk to stop it from clipping through tight pants (hide_Genitals)

  • forcing female V's feet to be flat (force_FlatFeet)

  • showing hair while wearing a head item (force_Hair)

Please keep in mind that you need to add those to the .app file's appearance definition rather than the root or mesh entity.

Tags are case-sensitive!

Base game tags

TagEffect

hide_H1

Hides an item in the Head slot.

hide_F1

Hides an item in the Eyes slot.

hide_T1

Hides an item in the Chest slot.

hide_T2

Hides an item in the Torso slot.

hide_L1

Hides an item in the Legs slot.

hide_S1

Hides an item in the Feet slot.

hide_T1part

Toggles the partial suffix (&Full โ†’&Part) when applied to Torso item.

hide_Hair

Hides hair.

hide_Genitals

Hides genitals in uncensored mode and underware in censored mode.

ArchiveXL tags

TagEffect

hide_Head

Hides head.

hide_Torso

Hides the whole torso.

hide_LowerAbdomen

Hides lower abdomen.

hide_UpperAbdomen

Hides upper abdomen.

hide_CollarBone

Hides collar bone area.

hide_Arms

Hides arms.

hide_Thighs

Hides thighs.

hide_Calves

Hides calves.

hide_Ankles

Hides ankles.

hide_Feet

Hides feet.

hide:legs

Hides the entire legs (including feet)

Check the Root entity tags section below for more tags

Hiding body parts: diagram

The diagrams below are somewhat outdated. Especially the arms information is not accurate. (Arms are terrible and we hates them, precious.)

Root entity tags

There are a few tags that can be added to the root entity or in the .app file. Here's a list:

EmptyAppearance

This will hide an item under certain conditions. Add the following tag to the root entity:

EmptyAppearance:FPP

You have the following other options to achieve the same end:

Root entity appearance (does not need dynamic variants)

name: my_appearance&FPP

.app path: base\characters\appearances\player\items\empty_appearance.app default

name: my_appearance&camera=tpp

ArchiveXL will automatically add empty appearances for anything you have not defined

name: my_appearance&camera=fpp

no partsValues, no components. Do not do this - use the line above this one instead!

force_Hair

By default, head items turn hair invisible. By adding this tag to the root entity, you can override this process.

force_FlatFeet

Only works with a foot item as $base in the .yaml: use this if you're making flat shoes and don't want female V's feet to look as if she was wearing heels.

This tag will turn feet invisible for mascV unless the user has switch feet installed. You want to apply this to a conditional appearance in the .app file (&gender=m)

Adding custom tags

Custom tags let you set component chunk masks from the .xl file without the need of touching either .app or .ent file.

For this, it is mandatory that you have unique component names. If you include your modder name, it's unlikely that anyone will overwrite them by accident.

Why would I need this? partsOverrides exists!

  1. PartsOverrides can't un-hide components for you. It can only hide them. If you want to load a different mesh (for example, a de-formed hakama when wearing a kimono or haori), then you're flat out of luck.

  2. By being clever about your submeshes, you can offer different versions of your mesh (cropped! No arms! No legs), and users only need to install an .xl file! No need to have different meshes or even different .archive files.

Not convinced? Pity, but if you find a new use case for those things, do edit it in!

Example

Registering the tag

Add custom tags in your .xl file (not in your .yaml!)

overrides:
  tags:
    my_custom_unhiding_tag:
      my_hidden_component_name: {show: [0, 1, 2, 3]}
    my_HideSeamfix:
      t0_000_pma_base__full_seamfix: {hide: [0, 1, 2, 3]}

Connecting the tag with the item

Simply add the tag to your appearance's tags array near the bottom of the individual entries.

Last updated