Skip to main content
Created on by Noya

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#