Table of Contents

Building ezEngine

To try out ezEngine, you can download a precompiled binary package. This article describes how you can build the engine yourself, which enables you to extend the engine with custom functionality.

Getting the Code and Data

  1. Clone a branch from the GitHub repository.
    • If you need a good git GUI, have a look at Fork.
    • Check out the 'dev' branch.
  2. Unless your git client already checks out git sub-modules for you, also run git submodule update --initin your local clone. The EZ project uses submodules to deliver additional data such as sample content and precompiled tools.

Platform Builds

Build Types

EZ sets up three build configuration types:

  1. Debug
  2. Dev
  3. Shipping

While developing your game you should either use a Debug or a Dev build.

The Debug build is best when you want to use a C++ debugger to investigate problems. It includes the necessary debug symbols and has many optimizations disabled, which makes it much easier to step through the code. Debug builds are significantly slower than the other build types.

The Dev build has most of the optimizations enabled, yet still includes debug symbols. The Dev build is 3x to 10x faster than a Debug build in most cases and is very close to the speed of a Shipping build. Stepping through the C++ code with a debugger is possible, though it often behaves erratic due to the optimizations (inlining and such). For most developers the Dev build should be the main configuration to use.

The Shipping build has all optimizations enabled. It does not include debug symbols anymore and it also has all the developer features disabled. That means things like ezInspector won't work here. Similarly, features like allocation tracking (for detecting memory leaks) and profiling features are disabled as well.

See Also