Don’t use hot reload in UE4!

Hi! You’re probably here because you’ve used Hot Reload in UE4.

So… don’t use Hot Reload in Unreal Engine 4 because:

  • Data corruption in Blueprints: it can reset and mangle any variable at whim. The only way to fix it is to roll back to a previous file version from a backup or from source control (perforce, git, svn, etc.)
  • It can’t deal with header changes (.h files) or constructor changes
  • It’s deprecated, not maintained by Epic anymore

Use Live Coding instead!

  • Live Coding is relatively new and still in development
  • Live Coding does not cause data corruption in Blueprints like Hot Reload does!
  • Like Hot Reload, it still isn’t reliable for compiling header changes (changes to .h files) or for compiling changes to class constructor functions. Use it only for making changes to class functions in .cpp files.
  • Live Coding even usually works great during gameplay (in PIE)! You can change running functions while your game is playing

If you’re getting weird errors when compiling the project in the Editor, just close the damn thing and run a proper Build -> Build <YourProject> in Visual Studio.

To enable Live Coding:

P.S. also, never look at the Error List or squiggles (red underlines). Always look for errors in the Output Log!

domain name courtesy of HoJo!