Echo:NPC is packaged as a windows-10, 64-bit executable. To run Echo:NPC, you only need access to this executable, as well as the internet and a valid password.

note: Due to the packaging of Echo:NPC, some firewalls will flag Echo as a Virus. If you don’t feel comfortable running Echo:NPC, please reach out. I will be happy to explain the build process, and why some systems may flag it.


To “install” Echo:NPC, simply download the latest version from the Echo:NPC discord server. Move the .exe into a convenient location: this will be your echo project folder. You may find it convenient to pin this location to your shortcuts.

Your file-setup should look like this:

--- echo_npc.exe


The first time Echo runs, some configuration files will be generated, and you will be prompted for your login details. Please enter a uniquely identifying username and company. These are used for logging purposes.

Echo:NPC can be run in one of two ways:

From a file explorer (Easy)

Double click echo_npc.exe from a file explorer. After a few seconds a black-box console will pop up, and a welcome message will be printed. After a few seconds, a file-explorer window will open, and the user can select their template file. The results of the run will be printed on the screen. Pressing any key will close the console.

From a console (Better)

It is recommended to run Echo:NPC from a console. You can find my editor recommendations here. These editors contain an in-built console, which is very convenient. I personally use VSCode.

Type the following into the console: (where template.json is the template file you want to compile) ./echo_npc.exe ./template.json

Protip If you press TAB after typing echo, the command will auto-complete. The same goes for template files.

You will see print-outs in the console, explaining what the script did. You will find your exported files either in the world, the development_resource_pack, or directly inside the run-folder -it all depends on your settings.

If you exported into the dev or world locations (recommended) you can just reload the world to see your changes!

Note: The default template exports into the here location, which means you will need to drag your entity file and animation controller file into the world manually.

Note: You can also just run ./echo_npc.exe in the console if you want to select your template from the file explorer. Just wait a few seconds for the window to open.

Folder Compilation

Echo supports recursive folder compilation. This feature is only available when running Echo through the terminal. Instead of typing a template, simply take the path to a folder. Echo will recursively compile all templates within this file.

Example: ./echo_npc.exe ./templates/my_project/

Error Messaging

When Echo:NPC runs, it will print information onto the console. This information is useful for seeing if the script was successful, as well as troubleshooting any errors. As best as possible I have provided custom error messaging, that describes what went wrong, and how to fix it. Errors will be clearly marked in red, and warnings will be marked in yellow.

Note: You should get in the habit of reading the console. Echo:NPC will tell you if it crashed by printing an error report. Learn to read these reports.

Custom messaging isn’t always possible. Sometimes my code will print out a “Fatal error”, with no additional information. When this happens, you can re-run the template with the -d flag, which will put Echo:NPC into debug mode, and print more information.

This can be done like:

./echo_npc.exe ./template.json -d

Note: Debug mode cannot be accessed when opening templates from the file explorer.