Changing materials, colors and textures
Changing how an item looks in-game
Summary
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.
Wait, this is not what I want!
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 -> Changing the presets
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)
Prerequisites
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.
Overview
Estimated time
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
Steps
This guide will take you through the following steps:
Video guide
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!
Step 0: Finding the .mesh and the appearance
Estimated time: ~5 minutes for total noobs, unless you get side-tracked badly
This process is detailed under Spawn Codes (BaseIDs/Hashes) -> Step by step.
Make sure to follow it so you're editing the correct material!
Find the item's mesh file path and appearance in the .app file:
mesh.DepotPath:
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
meshAppearance:
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 the mesh to your project
Find the file from mesh.DepotPath in your Asset Browser.
Add it to your Wolvenkit Project (double-click or right-click -> Add to Project)
Step 1: Finding the correct material name
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 itFind 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.
Step 2: Finding the material instance
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.
Step 4: Changing the material properties
You will (hopefully) see a material with three entries in values
(order doesn't matter):
Key | Value (DepotPath) |
---|---|
| |
| |
|
Exporting the .mlsetup
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.
In the project explorer under Wolvenkit's
archive
folder, right-click on themlsetup
file This folder will only be visible in the "source" or "archive" tab of your project explorerSelect "Convert to JSON"
Step 3: Editing the .mlsetup file
Optional: If you don't see an
mlsetup.json
in your project, switch the Project Explorer tosource
orraw
.Right-click on the file and open it in MLSetupBuilder.
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.
Step 4: Being done
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!
Step 5: Custompathing
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
Step 6: Renaming materials
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.
Step 6 (optional): adding new materials
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!
Last updated