Home Report an Issue /docs/building-from-source/

Building Enigma Engine from Source

Building Enigma Engine is easy, as long as you follow the guide carefully. If you miss a step, and an error pops up, it’s your fault and not mine.

Note that this guide is for developers who want to contribute changes to the Enigma Engine itself.

Prerequisites

Pro Tip

Make sure you go into your Windows Defender settings and make an exclusion for any development folders. Otherwise, Windows will scan all your binaries as you generate them, causing a massive performance hit.

Dependencies

You will need to install the following dependencies:

Windows Visual Studio Dependencies

This one is a pain. If you’re on Windows, building for it requires installing several gigabytes of SDKs.

Thankfully, the setup script will install them for you. See Running the Setup Script below.

Downloading the Game

We’re going to use Git to clone the repository.

PRO TIP: If you’re looking to become an experienced programmer, you need to learn to use Git and use it well. Do some research and find some good tutorials that explain how a Git repository is structured and how to properly interact with one.

If you’re just looking to build the game, perform the following steps:

Running the Setup Script

THIS IS AN IMPORTANT STEP. You need to run the setup script even if you have built other Friday Night Funkin’ mods, before, including Kade Engine or Psyche Engine.

On the Windows and Linux platforms, scripts are available to perform the process of downloading the necessary dependencies and preparing to build Enigma Engine.

Compiling the Game

There are two ways to build and run the game during development:

You can simply run lime build windows, but this is a bit clunky and it also misses out on a bunch of useful tools.

The recommended method is the following:

This will automatically rebuild the game for you, then run the game, with debugging features enabled. Check out the page on Development Tools for more information on the game’s development tools.