You define the item slot in your .yaml file by specifying the root entry type via a $base record. Base records come in many different types, some include intrinsic modifiers that add slight stat improvements to items, or add special sound to items. A complete page with clothing items, their intrinsic modifier, and their baseids can be found on the official Cyberpunk 2077 wiki's article for clothing here.
Items.My_Custom_Shirt:<< name of your item (the spawn code)$base:Items.ShirtItems.My_Custom_Helmet:$base:Items.Helmet# For items that should hide hair, use records with the "Hair" suffix.Items.My_Custom_HelmetWithHair:$base:Items.HelmetHair# For items that should have an intrinsic modifier, e.g. ArmorItems.My_Custom_HelmetWithArmor:$base:Items.Helmet_Intrinsic# For feet items that use heels (clicky sound)Items.MyCustom_Heels:$base:Items.FormalShoes
You can use the following base types:
Slot
Records
Head
Items.GenericHeadClothing
Helmet,
HelmetHair,
Helmet_Intrinsic,
HelmetHair_Intrinsic,
Helmet_EP1_Intrinsic_Armor,
Helmet_EP1_Intrinsic_Runner,
Helmet_EP1_Intrinsic_ExplosionDmg,
Helmet_EP1_Intrinsic_Zoom,
Hat,
Cap,
Scarf,
ScarfHair,
Balaclava,
Balaclava_Intrinsic
Face
Items.GlassesItems.VisorItems.GenericFaceClothing
You can absolutely set up a shirt and then put $base: Items.GenericHeadClothing - V is the only person I know of who can wear their undies on their head without impairing their functionality.
However, before you start abusing the system that way, you might want to look into EquipmentEx.
Step 1.5: EquipmentEx
psiberx's mod EquipmentEx (github | nexus) adds a whole new wardrobe system, providing extra slots that CDPR forgot to include with the basegame. This feature requires the mod to be installed — without it, only the $base types from step 1 will be considered.
All you need to do is adding the last two lines to your .yaml:
When selecting an entity file, make sure to match it to the corresponding body part for your clothing item. This helps ensure that animations and placements work correctly, preventing visual glitches. Always refer to mesh_entity.ent for defining components properly.
When mapping clothing items to base types, keep in mind that any items defined under Head/Face root entry types tend to have visual bugs in FPP(First Person Perspective).
Ex: defining gloves as anything OTHER THAN face/head base types is necessary to prevent visual artifacting/bugging while in FPP.
Find a full list of outfit slots in the github readme.
Step 2: the entity file
Some item properties are defined in the file mesh_entity.ent via components. If you use the wrong kind of entity, you might end up with your shirt being a puddle around your feet, or string cheese. To get around that, you need to make sure to pick a file that correspond's to your item's body part.
You can find all entity files under base\characters\garment\player_equipment:
Pick any file from inside the correct folder.
If you want to be super thorough, you can stick to the right gender
If you want to know more about components, check the wiki page. This is completely unnecessary for the purpose of this guide!
(Optional) Step 3: Hide it in First Person
You can hide items most easily via ArchiveXL tag. Check the linked page for how to do that.