🔮Textures, Materials and Shaders
Overview and introduction
This is the landing page for materials in Cyberpunk 2077. It contains a definition and a rough overview.
Check the section's sub pages in the wiki's navigation tree for more detailed information about the different kinds of materials. Additional material-related information can be found here:
General information
Handy list of references: Cheat sheet: Materials
Re-using materials as templates: Re-using materials: .mi
Multilayered
General information: Multilayered: Cyberpunk's supershader
Properties and definition: Multilayered Material: Properties
Preview images: Multilayered: Previews
Hands-on:
Definition: Shader
In its original state, a https://github.com/CDPR-Modding-Documentation/Cyberpunk-Modding-Docs/blob/main/for-mod-creators/files-and-what-they-do/3d-objects-.mesh-files is a collection of vertices (pixels). The space between those vertices is filled by faces, which form the 3d object's surface.
The shader is the thing that goes on top of the surface, rendering a material such as glass, skin, concrete, steel…
Without a shader, objects would be invisible in the game, the surface simply being transparent. In Cyberpunk, a default shader will be assigned in such cases (such as debug_coloring.mt).
In Cyberpunk 2077, REDEngine shaders are implemented as .mt
/.remt
files.
How can I use shaders?
If you have ever messed with an item's materials, then you already have.
To use a shader, you create a Material Instance, where you can configure the parameters. Not every parameter of a shader can be configured: since skin always has subsurface scattering, it makes no sense to tweak this. But since skin color already varies dramatically if you don't throw exotic chrome into the mix, you can change them easily via tint.
Definition: Material
For details how materials are used on a mesh, see the https://github.com/CDPR-Modding-Documentation/Cyberpunk-Modding-Docs/blob/main/for-mod-creators/files-and-what-they-do/3d-objects-.mesh-files, or learn how materials can be defined in a mesh via https://github.com/CDPR-Modding-Documentation/Cyberpunk-Modding-Docs/blob/main/for-mod-creators/files-and-what-they-do/3d-objects-.mesh-files#materialinstance-the-local-material or loaded externally from
In the context of Cyberpunk, a material is the thing that lets the shader define the surface properties of a https://github.com/CDPR-Modding-Documentation/Cyberpunk-Modding-Docs/blob/main/for-mod-creators/files-and-what-they-do/3d-objects-.mesh-files. Typically, you create a local instance, which will then pull in a shader via baseMaterial
.
The property baseMaterial
can point at a .mt
/ .remt
file directly, or to an intermediary .mi
file:
The .mi file
Each part of a mesh (submesh) can have a different material assigned.
Do you want to know more? ( =>https://github.com/CDPR-Modding-Documentation/Cyberpunk-Modding-Docs/blob/main/for-mod-creators/files-and-what-they-do/3d-objects-.mesh-files#chunkmaterials)
For a hands-on guide and something to play around/experiment with, check AMM: Textured items and Cyberpunk Materials using Custom Props.
What kinds of material exist?
Textured
If you have modded other games, you're used to PBR materials with a bunch of textures like diffuse, normal, metalness etc.
Did you know? You can make Cyberpunk's default textured material glow.
Multilayered
This is specific to Cyberpunk, and it is incredibly cool. If you're used to textured materials, you're probably going to hate it at first, but it has incredible versatility and re-usability.
What is a multilayered material and how does Multilayered: Cyberpunk's supershader work?
What are these properties, how do I use them?
Decal
A decal material is applied to a decal (sub)mesh, which is located on the surface of another mesh like a sticker.
Check out our guide on Adding decals for further explanation and detail.
Emissive
Material wireframes
You can make materials display as wireframes of their geometry by changing the following property in their .mt.
Please do not overwrite original .mt files, as this will effect everything in the entire game. Always create your own local copy!
Last updated