Replace portraits, icons, and item art
Make custom hero portraits, minimap icons, ability icons, and item art with CSDK 12's image template, then rename and pack the files.
Replace a hero's portraits and icons with your own art. You compile your images with CSDK 12's image template, rename them, and pack them as a mod. The same steps work for ability icons and item art. Set up your tools first with Set up your creator tools.
What you need
- Deadlock, installed and up to date.
- Source 2 Viewer and CSDK 12. Install them with Set up your creator tools.
- An image editor that saves PNG with transparency, such as GIMP or Photoshop.
- Your own art. Draw it yourself or use art you have permission to share.
- The hero's codename. Find it in Hero names and file paths.
Keep it fair
Icon mods change art only. Other players see the normal game.
- Keep icons at their normal size and about as easy to read as the originals.
- Never make objective or enemy icons brighter, bigger, or glowing.
- Never add information the game hides, such as timers or health numbers.
Read What's allowed and how to stay safe for the full list.
Quick option: Texture Forge and Item Forge
Deadlock Forge builds image mods in your browser. You do not need CSDK 12.
- Open Texture Forge for portraits, ability icons, and minimap icons. Open Item Forge for shop item art.
- Pick the image you want to replace.
- Upload your image as PNG, JPG, or WebP.
- Download the VPK it builds.
- Name the file like
pak05_dir.vpkif it has another name. The rules are in Pack your mod into a VPK. - Install it with Deadlock Mod Manager or by hand.
DeadMod is another browser tool that can replace portraits. RedMser's DeadMod video shows it from 1:39.
For full control, use the CSDK 12 steps below.
Watch the walkthrough
This video by Pugzilla follows the same steps as this guide.
The video was made before the September 2026 update. The CSDK 12 launcher looks different now, but the steps work the same way.
Which image is which
Hero images live in panorama/images/heroes/. Each file name starts with the hero's image codename. This prefix can differ from the hero's other codenames. For Haze it is haze:
| File | Where it shows |
|---|---|
haze_card_psd.vtex_c | Hero portrait at the top of the HUD |
haze_card_critical_psd.vtex_c | Portrait when the hero is low on health |
haze_card_gloat_psd.vtex_c | Kill streak portrait |
haze_sm_psd.vtex_c | Small icon, used in the kill feed |
haze_mm_psd.vtex_c | Minimap icon |
haze_vertical_psd.vtex_c | Tall portrait on hero select |
backgrounds/haze_bg_psd.vtex_c | Hero background |
Other images:
- Ability icons:
panorama/images/hud/abilities/<codename>/ - Item art:
panorama/images/upgrades/andpanorama/images/items/
Check the original size
Your image must be the exact same size as the original.
- Open Source 2 Viewer.
- Open
Deadlock/game/citadel/pak01_dir.vpk. - Go to
panorama/images/heroes/. - Double-click the image you want to replace. Write down its width and height.
- Repeat this for every image you plan to replace. Each image type has its own size.
- Optional: right-click the image and choose Decompile & export. You get a PNG to use as a guide.
Duplicate the image template
CSDK 12 comes with a ready-made image addon called hero_image_template.
- Open the CSDK 12 launcher. Keep Steam running.
- Right-click hero_image_template and choose Duplicate Addon.
- Name the copy in lowercase with no spaces, for example
hazeicons. - Right-click your new addon and choose Explore Content Folder.
- Open
panorama/images/heroes/. It holds the template's sample images for Grey Talon. - Delete the sample images. If you keep them, your mod also changes Grey Talon's icons.
The template also has a file called image_compiler.vdata in the panorama folder. You edit it later.
Make your images
- Create a new image at the exact size you wrote down.
- Use a transparent background.
- Draw your art.
- Export it as PNG into
content/citadel_addons/hazeicons/panorama/images/heroes/. - Name it like the original, without the ending. For example,
haze_card_psd.vtex_cbecomeshaze_card.png.
List them in image_compiler.vdata
This file tells CSDK 12 which images to compile. Every image in your mod needs one line in it.
- Open
panorama/image_compiler.vdatain a text editor, such as Notepad. - Find the lines with the template's sample file names.
- Replace each sample name with one of your file names. Include the
.pngending. - Add a line for each extra image. Copy the format of an existing line.
- Save the file.
Each line points at an image inside your addon's panorama/images folder. A line for the Haze card looks like this:
panorama:"file://{images}/heroes/haze_card.png"For ability icons or item art, put the image in the matching folder and change the path in the line.
Compile
- In the CSDK 12 launcher, select your addon and click Launch Tools. The Asset Browser opens.
- Search for
image_compilerin the Asset Browser. Do not search for your image names. - Right-click
image_compilerand choose Recompile > Full. This compiles every image in the list. - Close the tools.
- Right-click your addon in the launcher and choose Explore Game Folder.
- Open
panorama/images/heroes/. Your compiled.vtex_cfiles are there.
Rename to the original names
The compiled files may not have the game's exact names. The game only loads a file with the exact original name.
- Make a new folder for your mod, for example
hazeicons_pack. - Inside it, rebuild the path:
panorama/images/heroes/. - Copy only your compiled images into it. Leave out
image_compiler.vdata_c. - Rename each file to the exact original name from Source 2 Viewer. For example,
haze_card_png.vtex_cbecomeshaze_card_psd.vtex_c.
This rename step comes from guides made before the September 2026 update. If your files already have the original names, skip it.
Pack and test
- Pack your mod folder into a VPK. Follow Pack your mod into a VPK.
- Load the mod and check every image in game. Follow Test your mod in game.
Common problems
- The image is stretched, cropped, or blurry. Its size does not match the original. Check the size in Source 2 Viewer and make it again.
- The game shows the old image. The compiled file name or folder is wrong. Compare both with the original in Source 2 Viewer.
- Grey Talon's icons changed too. You left the template's sample images in your mod. Delete them and pack again.
- The compile fails. Check that every line in
image_compiler.vdatamatches a real file name. One older guide uses thebin_serveroption for this compile. That option needs the optional full game files. - It worked before an update. Game updates can rename or move images. Check the names in Source 2 Viewer again.
Next steps
- Pack your mod into a VPK
- Test your mod in game
- Change item names and other text (coming soon)
Credits
This guide is based on the work of these creators. Check out their original guides.
- Video: (Read Desc) Deadlock - Custom Hero Icons Tutorial by Pugzilla.
- Guide: How to Image Replacement for Dummies by Axelliax.
- Guide: Compiling UI Textures from Deadlock Modding Notes.
- Data: GameTracking-Deadlock by SteamTracking, for the image names and folders.
- Tool: Deadlock Forge by Sirsyorrz.
- Video: DeadMod: Make new Deadlock texture mods in minutes by Red Mser.
