Skip to main content

Custom Minimap Icons

Here is a quick and simple step by step guide on how to make and use your own minimap icons for creatures

Step 1: Get the files

This contains the following files:

  • addon_hud_textures.txt
  • vgui/hud/minimap_icon.txt
  • vgui/hud/minimap_icon.vmat
  • vgui/hud/minimap_icon.psd

addon_hud_textures is an unique file to define the paths for every custom icon.

The 3 minimap_icon files are used together, and should be renamed to the name your future icon, like minimap_questgiver or boss_kappa.

Step 2: Edit the files

PSD Image

Use a graphic editor such as Photoshop or GIMP to edit the PSD file.

In the example source file, I quickly made this transparent image from this source:


The suggested image size is 64x64.
If you want to use a different image size it must be a power of two.

Important: You need to have an Alpha layer filled with the transparent figure you want to display:


For better results, add strong black borders to the image as an outline (and remember to update the Alpha layer accordingly).

VMAT Material

Open the vmat with any code editor and make sure to change minimap_icon.psd for the name of your choice. Keep the rest unchanged

"Shader" "ui.vfx"
"Texture" "materials/vgui/hud/minimap_icon.psd" //EDIT THIS

Texture KV File

Same process in the addon_hud_textures.txt file

"minimap_icon" //EDIT THIS
"file" "materials/vgui/hud/minimap_icon.vmat" //EDIT THIS
"x" "0"
"y" "0"
"width" "64"
"height" "64"

For more icons, just copy the minimap_icon block again with another name inside TextureData

Step 3: Move the files

  • minimap_icon files go in content/dota_addons/YOUR_ADDON/materials/vgui/hud/.

  • addon_hud_textures.txt file goes in game/dota_addons/YOUR_ADDON/scripts/

Step 4: Compile and check

Go into the asset browser, write the name of your icon, open the vmat by double clicking on it (this will compile it).


Step 5: Set your unit to use the new icon

In the unit definition, add these lines:

"MinimapIcon"        "minimap_icon"
"MinimapIconSize" "1000"
"MinimapDisableTint" "1"

MinimapIconSize determines the relative size of the minimap icon, while MinimapDisableTint can be 0 or omitted if you want the creature to use different team colors.

6. Try it ingame