ItemAdditions: files from scratch
How to set up the folder structure from scratch
Summary
Created: by @manavortex Last documented edit: June 10 2023
This page is a part of the Adding new items guide and deals with finding the correct files for an ArchiveXL item addition.
For an explanation of the file structure, see ItemAdditions: File structure explained.
If you want to add an atelier store, see Your own Atelier Store.
If you want to add preview items, check Your own inventory preview icons.
If you want to port a mesh from a different game to Cyberpunk, check Porting 3d objects to Cyberpunk
TL;DR: If you can't be arsed doing this by yourself, find a template project with one working item (female rigged) here.
Overview:
rootentity.ent
base\gameplay\items\equipment\underwear\player_underwear_item.ent
appearance.app
base\gameplay\items\equipment\underwear\appearances\player_underwear_item_appearances.app
mesh_entity.ent
ā
Check the red hint box ā
base\characters\garment\player_equipment\torso\t1_080_pwa_tank__judy.ent
my_mesh.mesh
base\characters\garment\gang_monk\torso\t2_135_jacket__monk_shirt\t2_135_wa_jacket__monk_shirt.mesh
my_tshirt_factory.csv
base\gameplay\factories\items\clothing.csv
translation_strings.json
base\localization\en-us\onscreens\onscreens.json
preview_icons.inkatlas
base\gameplay\gui\common\icons\items\item_icons6.inkatlas
preview_icons.xbm
base\gameplay\gui\common\icons\items\item_icons6.xbm
tutorial_my_custom_tshirt.archive.xl
Wolvenkit -> New File -> ArchiveXL
tutorial_my_custom_tshirt.yaml
Wolvenkit -> New File -> TweakXL
For mesh_entity.ent,
your entity file needs to correspond to your item's body part. If you put a shirt in an entity file for shoes, it will deform badly once you put it on.
If you rename your components, we recommend using CDPR's naming prefixes for reasons of garmentSupport. You don't need to understand how this works, just name your component like l1_myCustomPants
instead of myCustomPants
and call it a day.
For further details, check here.
It is good practice to keep local copies of everything that you change (=> custompathing
) instead of overwriting files under base
. This makes sure that no other mods will overwrite your changes.
ā¹ Only keep files under base
if you are okay with them being overwritten!
Optional, but very recommended: Clean out obsolete entries
Open the file
translation_strings.json
in WolvenKit. Expand the arrayroot
and then the arrayentries
. Delete all entries but one.Open the file
my_shirt_factory.csv
in WolvenKit. IncompiledData
, delete all entries but one. Indata
, delete everything - these will get autogenerated.Open the file
root_entity.ent
.Expand the list
appearances
. Delete all entries but the first (most likelydefault
).Open the file
my_custom_shirt.app
. Expand the listappearances
. Delete all entries butdefault
.Open the file
mesh_entity.ent
SelectresolvedDependencies
and delete all the entries. (We don't need Judy's top anymore.)Make a back-up copy of your
t1_custom_shirt.mesh
, then open it.Expand the first
appearances
at the top of the file. Open the appearancedefault
and check which material is linked in thechunkMaterials
array.
Now is a good time for a backup.
Last updated