Divine Skins
Divine Skins Wiki

Materials for custom models

Create materials for a custom hero model with the settings Deadlock needs: stylized lighting, status effects, outlines, and transparency.

Intermediate

Make new materials for your own model so it looks like it belongs in Deadlock. You build them in CSDK 12's Material Editor and assign them in ModelDoc. Your model should already open in ModelDoc. Your first model swap shows how for a simple model, and the hero swap guides cover heroes.

What you need

CSDK 12

Your textures as PNG filesYour Blender material names

CSDK 12 has the Material Editor and ModelDoc. Use your model's addon. Use power-of-two texture sizes, such as 1024 x 1024 or 2048 x 2048.

How the names connect

Each material in Blender becomes a slot in ModelDoc's Default Material Group. Each slot points to one .vmat file. Keep the same name the whole way through. Use short, plain names like body or hair. A name with .001 at the end leaves the slot blank.

Diagram: the Blender material body becomes the ModelDoc slot body, which points to materials/body.vmat using pbr.vfx, which compiles to body.vmat_c plus its vtex_c textures

Pugzilla shows the materials part of a hero swap from 23:17 in this video. It was recorded in March 2026, so menus may look a little different.

Build the material

Make a new material

  1. Launch the tools for your addon. In the Asset Browser, click Material Editor.
  2. Choose File, then New.
  3. Choose File, then Save As right away. Save into the materials folder next to your model, with the Blender material name. For example: body.vmat.
  4. Check the shader at the top. It must be pbr.vfx, the shader every Deadlock hero uses. If it shows another one, switch it to pbr.vfx.

The game's own config names a different default shader for new materials, so check this on every new file.

Add your textures

Copy your PNG files into the same materials folder. Give each one the ending its slot expects:

SlotFile endingWhat it controls
Color_colorThe base colors of your model
Normal_normalSmall surface detail, like folds
Roughness_roughHow matte or shiny each part is
Ambient occlusion_aoSoft shadows in creases
Metalness_metalWhich parts look like metal

The file picker filters by these endings. If a file does not show up, rename it, or switch the picker's filter to All images.

  1. Set Color to your _color image.
  2. Set Normal to your _normal image, if you have one.
  3. No roughness map? Click Change to color next to Roughness and pick pure white. White is fully matte. The gray default looks like shiny plastic.
  4. Look at the shadow side of your model. Deadlock's lighting gives the shadow side its own color input. By default it uses your color image. If the shadows look wrong, Pugzilla sets that input to a flat color.

Turn on the required settings

Tick both of these on every material:

SettingWhat it doesIf you skip it
Use NPR LightingTurns on Deadlock's stylized lighting: rim light and banded shadingYour model is lit unlike every other hero
Use Status Effects ProxyLets status effects draw over your model, like Veil Walker or ultimatesThose effects are missing on your skin

Use Status Effects Proxy only works with Use NPR Lighting on.

Pick optional settings

Glow and see-through settings change visibility

Your skin shows on every player who picks that hero, enemies included. Never make a hero glow, go bright, turn near-transparent, or go very dark. Never turn off the outline. These make a hero easier or harder to spot. Read What's allowed and how to stay safe.

SettingUse it forNotes
Solid Color OutlineA flat colored outline. Needs Use NPR Lighting.Pugzilla and Axelliax tick it on every material
Alpha TestCut-out shapes, like hair cards or laceNever cut away large parts of the body
TranslucentSee-through parts, like a glass visorNever on the whole body
Self IlluminationSmall lit details, like eyes or a screenNever make the hero glow

Write Depth Before Alpha Blending is a special case. Guides tick it on every material to stop bald patches and see-through curves when a hero fades out. But the shader only allows it with Translucent on, so we do not know yet what it does on a normal material. Leave it off unless your material is translucent.

The hero material settings reference, under Next steps, lists every other setting.

Assign it in ModelDoc

  1. Save the material and close the Material Editor.
  2. Open your model in ModelDoc.
  3. If there is no DefaultMaterialGroup node, choose Add, then Default Material Group. You see one slot per Blender material.
  4. Click the browse button on a slot. Pugzilla calls it open local browser. Find your material and double-click it.
  5. Repeat for every slot.
  6. Click Compile. A red mesh means a slot still has no material.

Ship the right files

Ship the compiled .vmat_c and every new .vtex_c from your addon's game folder, at the same paths. Compiled textures get a code in their name, like body_color_png_63291cfb.vtex_c. The material points to that exact name, so a material without its textures shows the error checkerboard in game. Then follow Pack your mod into a VPK.

Reuse the hero's own materials

Your new model can use materials that already ship with the game. Pugzilla's method:

  1. Find the material in Source 2 Viewer.
  2. Right-click it and choose Copy name.
  3. Paste it into the slot in ModelDoc. Delete the _c at the end.
  4. Click Compile.

To edit a hero's materials instead, decompile the hero's whole materials folder into your addon at the same path. Then work on them like in Retexture a hero.

Common problems

Next steps

Credits

This guide is based on the work of these creators. Check out their original guides.