Changing materials, colors and textures
Changing how an item looks in-game
Last updated
Changing how an item looks in-game
Last updated
Published: November 05 2022 by manavortex Last documented edit: Jun 29 by manavortex
This guide will teach you how to edit an item's material, changing its appearance.
For a step-by-step walkthrough for a recolour of the Netrunner suit, check R&R: Colour Editing
If you want to edit emissive (glowing) material, check R&R: Emissive ->
For an overview of base materials and example files, you can check here.
If you want to learn how mesh material assignment works in general, you can check the corresponding page.
For details on changing materials, check Changing materials, colors and textures.
If you just want to use a textured material, check Using a textured material
You can find a video guide on youtube (It's also embedded below)
A
Most likely MLSetupBuilder >= 1.6.7 (get the latest release)
If you are editing a basegame material, you need to install Material and Texture Override from Nexus.
For a complete noob, including setup of the tool(s): ~1h Once you know what you're doing: <5 minutes and as much time for fine tuning as you want
This guide will take you through the following steps:
Please keep in mind that video guides might be outdated, as they are much more difficult to update than a wiki page. Refer to the written guide below if you run into any troubles!
Estimated time: ~5 minutes for total noobs, unless you get side-tracked badly
Make sure to follow it so you're editing the correct material!
One per body gender (m/w), this is shared by all appearances (basic_01
, basic_02
, rich_01
, rich_02
). For the female vest, it's
base\characters\garment\player_equipment\torso\t2_002_vest__puffy\t2_002_pwa_vest__puffy.mesh
This picks the appearance from the mesh file, which you'll need for the next step. Here's how they connect:
basic_01
default
basic_02
bbstripes
rich_01
gbstripes
rich_02
pwstripes
Again, you can look these up in the .app file!
Add it to your Wolvenkit Project (double-click or right-click -> Add to Project)
To learn how appearances and materials connect, you can read 3d objects: .mesh files. This is not necessary for this guide.
Open your mesh file in Wolvenkit by double-clicking it.
Find the array appearances
at the very top, and expand it.
Find the appearance by the name that you found in Step 0 (example: bwstripes
), and expand it
Find the chunk material names. These define the material:
Starting with Wolvenkit 8.15, you can right-click on a chunk and click on "Select Material" from the context menu. For earlier versions, you have to find the material yourself - proceed to the next step.
Depending on your mesh, the material instance will be in one of two places: either under localMaterialBuffer.materials
, or under preloadLocalMaterialInstances
.
(If you don't see preloadLocalMaterialInstances, that means it's empty and has been hidden.)
Inside the array, find your material by name:
If you see multilayered.mt
as the baseMaterial
, you have to edit this with MLSetupBuilder. Fortunately, it's not very difficult.
If you'd rather use a textured material, see the Using a textured material sub-page.
Most materials in Cyberpunk use multilayered.mt
as base material — this is how everything looks so good without 100 GB of extra textures. It's slightly more complex than editing textures because you need an extra tool, but you will love it once you're over the worst shock.
You will (hopefully) see a material with three entries in values
(order doesn't matter):
base\characters\garment\citizen_casual\torso\t2_002_vest__puffy\textures\ml_t2_002_ma_vest__puffy_bwstripes.mlsetup
base\characters\garment\citizen_casual\torso\t2_002_vest__puffy\textures\ml_t2_002_ma_vest__puffy_default.mlmask
base\characters\garment\citizen_casual\torso\t2_002_vest__puffy\textures\t2_002_ma_vest__puffy_n01.xbm
First, add the .mlsetup to your project. You can either expand the CKeyValuePair
and click the yellow button, or copy the depot path and use the Asset Browser.
For a documentation of multilayer properties, see here. For a list of reference images, check Multilayered: Previews
Export the file, overwriting the original .mlsetup.json
Switch back to Wolvenkit
Right-click on the .mlsetup.json
and import it from json.
This is already working. You can pack the project and see it in action!
If it doesn't work, you need to install Material and Texture Override from Nexus.
Congratulations! You modded an item! If that's all you wanted, you can now go and do whatever you want. You can even delete the mesh from your mod and pack only the .mlsetup
!
Of course you have only changed an in-game texture, which may cause side effects — especially if other mods do the same. To change that, keep reading!
Instead of changing an in-game file, you can also replace it with your own.
Rename your file to something nobody else will touch, e.g. manavortex\mlsetups\my_custom_vest_appearance.mlsetup
Copy the new relative path (right-click), and update your mesh:
Keep your folder and file names unique! If you have two mods adding a file at the same location, the second one will be unable to overwrite it and will use the first mod's file. That is, unless your mods are in REDmod format, which will be loaded even later and in order of their folder names.
Understood? No? That's fine. Just keep it unique. :D
You can rename a material by changing the "name" property inside the CMeshMaterialEntry
in the materials
array:
As of Wolvenkit 8.15, chunkmaterials will not auto-update, but you can use Search and Replace from the Context Menu to rename everything at once.
To add a new material to a mesh, you can simply right-click on the materials
array:
Consider converting your mod to use ArchiveXL: Patching appearancesfor much better compatibility and smaller mod size!
This process is detailed under Spawn Codes (BaseIDs/Hashes) -> .
Find the file from mesh.DepotPath in your .
In the project explorer under Wolvenkit's archive
folder, right-click on the mlsetup
file
This folder will only be visible in the "source" or "archive" tab of your
Select ""
If you don't have MLSetupBuilder installed, you need to do that now. If you don't know how to use it, please check
Optional: If you don't see an mlsetup.json
in your project, switch the to source
or raw
.
Right-click on the file and .