General Ensage guide

AdminAdmin Posts: 96
edited April 2017 in General



Ensage is a .NET development platform. Ensage provides a huge API that you can make use of to create assemblies.


Main source of Ensage features are assemblies. There are volunteer developers who take care of maintaining and developing assemblies, but anyone is free to create their own assembly. Every assembly is released open source which allows everyone to cooperate with the developer, help him to eliminate bugs, but also to learn from the code and gain knowledge for developing.

List of features provided by assemblies is truly endless. There is plenty of ways assemblies can use in order to help the player.
Here are some of the most important ones:

  • Drawing important/additional information on the screen (manabars, spells, items...)
  • Adding custom particles on the ground (areas of effect, ranges...)
  • Controlling players hero or his units (evading skillshots, using spells and items, attacking/moving, picking up runes/items...)
  • Unlocking game cheat CVARs and editing their values (camera distance, fog..)

Ensage is a tool and it's in the developers responsibility to use the API wisely.

In-game Menu

Almost every assembly can be configured via the Ensage in-game menu. All adjusted settings are saved. Some hero related assemblies may save settings only for the current hero, which means you can also make different configurations for each hero.


The Loader is a bridge between Ensage and the game.
It is used to compile, load and unload assemblies and to create assembly profiles, which allow you to quickly switch between sets of assemblies which should be loaded.

Installing Ensage


Ensage can run only on 64bit Windows 7/8/8.1/10 (XP and Vista are not supported).

If you are unsure whether your Windows is 64bit or 32bit see our Is My Windows 64bit? guide.

Ensage also requires you to start DotA 2 with "-console" option.
(Go to Steam>Libraries>Right click on DotA2>Select Properties>Tab General>Click on "Set launch options" and type in the "-console" option)

Following programs are required for Ensage to run properly.
Download and install them even if you have done so in past to ensure they are up to date.

Microsoft Build Tools is required to compile assemblies locally. If you are interested in developing assemblies, please download and install this as well.


For proper installation please follow these steps

  • Download the installer via this link: -
  • Make sure Steam and DotA2 processes are closed (press Alt+Shift+ESC and end any steam processes you see)
  • Run the installer
  • Choose preferred language and click "OK"
  • Click "Next" and choose installation path, preferably root of the disk you have installed Windows on (e.g. "C:\Loader\")
  • Again click "Next" and then "Install"


Once you have successfully installed the loader, you may proceed to installing assemblies....(tbd)

Using Ensage

Launching Process

Please make sure to follow these steps when launching Ensage.

  • Start the Ensage Loader
  • Start Steam (AS NON-ADMIN)
  • Start DotA2 using the button on the loader

Important Hotkeys

Loader Hotkeys

These are loader hotkeys, they affect currently loaded assemblies. You should remember them as they can save your game in case a bug occurs and are quite useful while developing/testing.

  • F5 - reload all
  • F6 - unload all
  • F8 - reload and recompile all

In-Game Menu Hotkeys

Following hotkeys are used by the Ensage in-game menu:

  • F7 - press to open/close the menu
  • SHIFT - hold to open the menu

Using Assemblies

When you are heading to play a real game, normal or ranked, you should never use assemblies that you didn't try before or you aren't used to, if you do that then it will most likely ruin the game for you and your team mates.

In order to enjoy your games with assemblies please follow these steps:

  • Consider setting lower graphic details for the DotA2 as assemblies generally eat some FPS (check out our Optimizing DotA2 guide to get more FPS)
  • Load assemblies that you wish to use
  • Start a lobby with cheats enabled
  • Use necessary cheat commands and test whether the assembly is working as intended
  • Now test the assembly again but in a bot game without cheats enabled

(For more info see our General guide for testing assemblies)

In case you don't like how to assembly works, if you experience bugs or FPS drops or if it isn't working at all, then please unload the assembly and provide constructive feedback to the assembly developer. If you don't know how to do that then check out our General feedback guide.

In other case, you may proceed to real games, but remember that there can occur situations in real games which can cause that the assembly stops working as intended. If you experience such situation remember to press the F6 key which will unload all assemblies, you can also just unload the certain assembly in the loader if you are sure that's the one which causes unintended actions, but then need to press F5.
After the game make sure to head back to forums and post the constructive feedback so the developer would be aware of the bug that occurred.

Testing Assemblies

If you are testing some assembly during development, F5 is the hotkey you will stick to. When you find a bug, you usually fix it in the code, recompile it in the loader and then press the hotkey to load the updated version of assembly. You can also use the F8, but since it recompiles all assemblies, you should use it only if there are no other assemblies loaded except the one you are testing.
Remember that you should always test the assembly before you release it/release the update to make sure there are no exceptions when assembly gets loaded in the game.

See our General guide for testing assemblies to get better idea on how to properly test assemblies

This discussion has been closed.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!