• Program debug database

    Live++ needs a full PDB file in order to extract some of the needed information about the executable.

  • Hotpatch compiler support

    x86/32-bit executables need to be compiled with support for hot patching.

  • Visual Studio or Clang compiler

    Code needs to be compiled using either the Visual Studio compiler or LLVM's Clang (requires at least version 14).

  • Single .DLL

    Hot-reload requires the Live++ DLL to be loaded by your module.

  • Hotpatch linker support

    All executables need to be linked with support for hot patching.

  • Visual Studio or LLD linker

    Code needs to be linked using either the Visual Studio linker or LLVM's LLD (requires at least version 14).

Simple integration

Integrating Live++ is very simple and usually requires less than 10 minutes:

  1. Adapt compiler and linker options to meet the technical requirements.
  2. Load the Live++ DLL and register a process group with a single line of code using the provided single-header C++ API.
  3. Enable Live++ for your module(s) using another single line of code.

Read the online documentation for a quickstart guide

Unreal Engine 4 integration Unreal Engine 4

Starting with Unreal Engine 4.22, Live++ is deeply integrated into the engine itself and is available to every Unreal Engine developer out of the box.

For earlier versions of Unreal Engine 4, Kite & Lightning developer ikrima has kindly provided a plug-in available for free on GitHub.

CRYENGINE integration

Philipp Gehring has kindly provided a plug-in available for free on GitHub.

Additional C/C++ API

Live++ comes with an additional API that allows you to do even more advanced hot-reloading, which would otherwise be impossible.

  • Structural changes

    Live++ offers pre- and post-patch hooks that allow you to even make changes to the memory layout of classes. Code like the example below allows you to add and remove members to and from classes.

    • livepp
      Pre- and post-patch hook API
  • Synchronization points

    Even though patching running executables using Live++ is always safe, the API enables you to emit synchronization points into your executable, ensuring that code patches are always applied at e.g. the start of a single frame.

    • livepp
      Synchronization point API

The Live++ API offers additional features such as temporarily disabling optimizations for functions or files, using an external build system, powerful error recovery, restarting applications - check the online documentation for more information!