MI

How to Mod (for Rem) (For now)

by milkdrinker2007
Uncategorized
Updated 1/30/2026

This document was written on 1/28/2026. Deadlock is a beta game and these steps may change. The tools for modding are also changing. Please read documentation when linked.

Some other tutorials I used:

https://docs.google.com/document/d/1hp_93mvqE-BjcBuJrO1yAsvTkL1xth11beKF7cDsV1U/edit?tab=t.0

https://www.youtube.com/watch?v=ymHlwIezxro

+ Some help from others

Prerequisites - Modding Tools:

https://deadlockmodding.pages.dev/modding-tools/

CSDK12 - Main modding tool for Deadlock

Source 2 Viewer - Used for exporting files

Blender - Used for modeling and exporting to .fbx

Counter Strike 2 Tools - Used for fixing animations (May not be needed in the future)

One thing I also want to mention is that all of these items will reference their respective directories. With that said, try to keep in mind where you import/export items. You can break, fix, and mod all from these files.

Step 0 - Setting up your files:

Before really getting started, I recommend setting up a few folders you'll be working out of. For this example, we're gonna make a folder called remMod in our Documents.

In remMod, create 2 new folders. One named blender and another called VPK. We will not be using VPK until the very end.

In the blender folder, create another folder called vmdlExports.

Step 1 - Decompiling the model:

Using S2V, navigate to C:\Program Files (x86)\Steam\steamapps\common\Deadlock\game\citadel\models

Depending on your model, it may be located in heroes_staging or heroes_wip. They'll also be named their internal code name, so you may need to explore.

Since we're working on Rem, his model is located in \heroes_wip\familiar\. As of writing this document, his model is unfinished and is using the familiar_wip.vmdl_c.

Right click your model, and select "Decompile & Export", then navigate back to your ...\remMod\blender\vmdlExports\ and export as a .gltf there.

Additionally, we'll want to save the directory path starting from models. So in our case, models\heroes_wip\familiar\. We will use this path to reference and create new directories with the same path.

Step 2 - Importing into Blender:

In Blender, import the .gltf file. I use the following import settings:

Once imported-

Orb time. Yeah. There's a few ways to fix this. I recommend moving the Icosphere out of glTF_not_exported, going into edit mode, and resizing it down to something more reasonable.

Ah.

I don't know about the other models, but Rem's is stuck in his bind pose. Select the armature, clear all transforms, and delete the keyframe.

At this time, I like to clean my blend file before editing. I use this addon to help:

https://extensions.blender.org/add-ons/simple-renaming-panel/

I remove the path from all the meshes and mesh data.

So models/heroes_wip/familiar/familiar_wip.vmdl_c.balloon to just balloon.

For materials, they should already be named correctly. If you imported more than once, just make sure the material name does NOT end in .001 or anything similar.

From here, feel free to modify how you will. If you add a new mesh, you'll need to join it with an existing mesh. New materials are OK and do not need to be combined.

Step 3 - Exporting from Blender:

Next, we'll need to export your model. First, apply all transforms to all meshes and the armature.

Next, you'll need to export each mesh individually with the armature. Your exports will look something like this.

These are my export settings:

​​​​

Step 4 - Importing to CSDK:

Once everything is exported, open CSDK12 and select "Create New Addon". Name it anything you'd like, then press the cogwheel at the bottom and click on "Explore Content Folder".

In this folder, add your character directory. For us, models/heroes_wip/familiar/. We'll also want to add a materials folder.

We're then going to use SV2 and Decompile & Export the character .vmdl_c again, but this time as a .vmdl. Export it into your character folder. Go into the materials folder in SV2 and export them to your new content materials folder you just created.

Next, copy your .fbx into the content character folder, and any new textures into your materials folder.

Back on CSDK, press the cogwheel again and click on "Explore Game Folder". Recreate the character directory again, but this time on SV2, you'll want to "Export as is", and put it in the character folder.

Step 5 - Creating Textures:

Go ahead and hit "Launch tools. It may take a bit to load, just leave it be. Once loaded, at the top of the Asset Browser, there will be a sphere icon labeled "Material Editor".

Create a new material and save it in a folder labeled materials in your character directory. Once done, let's actually set up our material.

On the left hand side, most things will stay unchecked except for the following:

After that, add your textures where needed. If they're not needed, tap on the "Change to Color" icon or "Change to Slider" icon.

Once finished, save your material and close the material editor.

Steps 6 - Creating your Mod:

Back in the Asset Browser, open your character .vmdl. Once open, we're going to do a few things to get started.

First, I like to delete all the lods. Not good for toasters but that's a sacrifice I'm willing to make. Thank you. (You can regenerate them if you'd like) (i dont know how dont ask)

Next, with all the items under RenderMeshList, replace their source file with your .fbx that you placed in the character directory earlier.

After that, we'll want to assign all the materials. In the outliner on the left, tap on "Add" and add a DefaultMaterialGroup. You'll see all the materials for all the models. Assign them accordingly.

Lastly, tap on "Add" again and we're going to add a Prefab. When it asks to select a file, go to ...\Reduced_CSDK_12\content\citadel\models\prefabs\camera_attachmentdata\ and add your character's prefab.

Once added, it'll be located in the GameDataList. Right click it and flatten it.

Then, click compile on the right side.

If you get any errors, look in the log and try to remedy them. I will not be helping with this step, so please use community resources.

Steps 7 - Fixing your Mod - Part 1:

Currently, CSDK12 does not add certain things needed for animations. You will need to download the a Source 2 editor, very similar to CSDK. In our case, we'll be using the Counter Strike 2 editor.

Download CS2 (Or DOTA 2), and opt in for the Workshop Tools under DLC.

Once added, you can go to C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\game\bin\win64 and open csgocfg.exe.

Create a new Addon, and open the Content and Game folder just like before. Copy over your character directories and .vmdl and .vmdl_c from your CSDK folders (content in content, game in game).

Back in the CS2 tool, click on "Launch Tools". Again, first load will take a while. Leave it be. It will take longer than CSDK. Once it's loaded, open your .vmdl.

Steps 8 - Fixing your Mod - Part 2:

In the CS2 model doc, your materials won't load. This is okay.

Go ahead and tap on "Add" again and we're gonna add 3 things:

  • DefaultAnimGraph
  • AnimGraph - Name it "ui"
  • nmSkeleton

Now we'll need to open SV2 again and do a few more things. First, let's open your character's original .vmdl_c and go to the DATA tab. Scroll to the bottom and copy the animGraph2Refs location data into the corresponding AnimGraphs.

"" = DefaultAnimGraph

"ui" = ui AnimGraph

After that, go back to the directory and export the .vnmskel_c. To be safe, I both Exported as is and Decompiled and Exported into the CS2 tools character directory.

You'll also want to "Export As Is" on the character's .vmdl_c and rename it to "character_ref" and place it in the CS2 tool character directory as well.

In the CS2 ModelDoc, set the nmSkeleton source to our exported .vnmskel.

Steps 8 - Fixing your Mod - Part 3:

Next part is a bit tideous, and I recommend watching this video:

https://www.youtube.com/watch?v=wnO_g5mhDXw&t=188s

We've already added the AttachmentCameraData, but now we need to correct all the data on them.

Open your character_ref.vmdl_c in the CS2 tools and set it side by side your mod .vmdl.

On your mod, in the Source Content Outliner, find the "AttachmentList" and expand it.

On the character_ref, in the Compiled Preview Outliner, expand the Attachments.

You will then copy the Relative Origins and Relative Angles from the character_ref to your character mod for all attachments. (You can right click and copy the values fyi)

Steps 9 - Fixing your Mod - Part 4:

Last up for fixing your model, select all the cameras below:

Right click them and select Add Attachment Camera Preview.

In SV2, open your character's .vmdl_c again and go to the DATA tab. Find the AttachmentCameraData and copy the values over.

Once you're done, compile your model in the CS2 ModelDoc.

Step 10 - Exporting your Mod:

Congrats, your mod is (almost) finished! Now, we'll need to export it. Back in the CS2 tools, open your game folder again, and find your .vmdl_c.

We're going to then create a new folder that we'll compile your mod in. For me, in Documents, I created a "RemMod" folder, and then added my character directory.

Then, I copied my CS2 .vmdl_c into the character folder. Go back to your CSDK and copy your materials folder into your mod character folder. You can delete any non-new materials.

In SV2, on the top left click on "File" and "Create from Folder". Right click on new.vpk and select "Add existing folder", and add your mod folder. In my case, "RemMod".

Once added, double click on new.vpk and it should look like this:

In my example, my new material was named "mod".

Right click on new.vpk and select "Save VPK to disk" and save it anywhere you like. You'll then need to copy it to the Deadlock addon folder (you'll need to create one if you don't have one).

It should be located in

C:\Program Files (x86)\Steam\steamapps\common\Deadlock\game\citadel\addons

Again, if you don't have the addons folder, just add it.

Once your .vpk is added, you should be able to launch the game and see it. I also recommend using a mod manager, but be careful, disabling or removing the mod deletes it from your addons folder so you will want a copy somewhere safe.

1,657words
7,664characters
8minutes read

This note is shared publicly by milkdrinker2007