Hot Reload
Contents
Overview
Hot Reload is a feature that allows the Unreal Editor to detect newly compiled .DLLs automatically.
General
The projects contains several configurations by default (see Compiling Game Projects), but for Hot Reload you need to use the * Editor configurations.
Visual Studio
You will first need to Generate_Visual_Studio_Project, then open the solution (from the explorer or using File -> Open Visual Studio.). If you open a single file from the editor, the build configurations will not be available.
Choose one of the * Editor configurations from the list .
Right-click your game project and choose Build to compile. If you selected an * Editor configuration the the build output will contain Compiling game modules for hot reload !
The editor will then reload the DLL as soon as the project is compiled !
Tips
The toolbar doesn't have a "Build" button by default, to add one follow these steps :
- Click the small arrow at the right of the toolbar
- Click customize
- Go to the Commands tab
- Toolbar -> Standard (or the one you are currently using)
- Add a new command -> Build -> Generate the solution
- Click the new button in the preview, and click Move Down until the place is satisfying enough for you.
This steps are detailed in [How to: Customize Menus and Toolbars in Visual Studio]
Hot Reload reliability can vary. For example, attempting to hot reload after changing or adding an exposed variable to a header file will reset or cause any blueprint values for said exposed variables using that class to be lost in blueprints. As such when modifying or adding an exposed variable close UE4, build your new source and once done, reopen UE4 to safely make the code changes without losing your settings for any blueprints using that modified header file.
XCode
Please edit and fill me in !
Notes
The "Compile" button in the editor will not use the same build folder as Visual, so be consistent and either always build from Visual/XCode or always from the Unreal Editor. That way you will not be recompiling untouched files.