ArchiveXL: Tags

Summary

Published: ??? by manavortex Last documented update: June 13 2024 by LadyLea

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 apply visual tags to an item you must add them to visualTags property of your appearance definition or to visualTagsSchema of your root entity template.

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 underwear 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 all of default arms submeshes. Cyberarms cannot be hidden with this tag*

(*Arms are terrible and we hates them, precious.)

hide_Thighs

Hides thighs.

hide_Calves

Hides calves.

hide_Ankles

Hides ankles.

hide_Feet

Hides feet.

hide_Legs

Hides the entire legs (including feet)

Base Game Tags and ArchiveXL Tags - Visual Guides

Tags to partially hide default arms and cyberarms are not available, however, you can make use of Chunkmasks with the aid of this component list for Arms and Cyberarms OR you can create your own Custom Tags.

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 only works for legacy ArchiveXL projects. If you're using ItemAdditions: Dynamic Appearances, please use conditional appearances in your .app file.

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 (without dynamic variants)

name: my_appearance&FPP

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

.app conditional appearance: change default appearance name

name: my_appearance&camera=tpp

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

.app conditional appearance: add empty appearance yourself

name: my_appearance&camera=fpp

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

force_Hair

A tag that forces hair to show up while wearing a head item. By default, head items turn hair invisible. By adding this tag to the root entity, you can override this process.

force_FlatFeet

A tag that forces female V's feet to be flat. 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