Skip to content

Commit cccc73d

Browse files
committed
Documented AllowEnableReload restriction for plugin hot-reload
1 parent ee940f7 commit cccc73d

2 files changed

Lines changed: 3 additions & 0 deletions

File tree

‎pages/docs/custom-code/cpp/cpp-code-reload.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ You can always manually restart the engine process through *Tools > Reload Engin
3434

3535
The `Enable Reload` option should only be used for select game plugins. Enabling this feature can have unintended side-effects.
3636

37+
* The `Enable Reload` checkbox is only available for plugins that explicitly support it. For all other plugins it is greyed out in the [plugin selection](../../projects/plugin-selection.md) dialog. A plugin can opt in by setting `AllowEnableReload` to `true` in its [ezPluginBundle file](../../projects/plugin-selection.md#ezpluginbundle-files).
3738
* If any code links against a plugin, that plugin cannot be loaded as a copy. Therefore, if you want to put shared code into a separate library that other users of your plugins link against, you can't load that shared library as a copy.
3839
* You can't compile code while debugging a process. To compile your code, you first have to detach your debugger. In Visual Studio that can be done via `Debug > Detach All`.
3940
* Consequently, if you want to continue debugging after you restarted the engine process, you need to manually re-attach your debugger to *ezEditorEngineProcess.exe*. In Visual Studio this is done via `Debug > Attach to Process...` or even better `Debug > Reattach to Process` (`SHIFT+ALT+P`) when you want to repeat the same thing a second time.

‎pages/docs/projects/plugin-selection.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ Enable the checkmark for a plugin to make it active in this project.
2121

2222
If you *Enable Reload* for a plugin, the engine will load a copy of the runtime plugin DLL, rather than the original DLL. This allows to edit and compile the DLL while the editor is running. Typically, this should only be active for a single, game-specific plugin. See [Hot Reloading C++ Game Plugins in the Editor](../custom-code/cpp/cpp-code-reload.md) for details.
2323

24+
This option is only available for plugins that explicitly support it. The checkbox is greyed out for plugins that do not. A plugin opts in by setting `AllowEnableReload` to `true` in its [ezPluginBundle file](#ezpluginbundle-files). This should only be done for plugins that are loaded purely dynamically at runtime and not linked against directly.
25+
2426
## Custom Plugin Entries
2527

2628
If you have a [custom plugin](../custom-code/cpp/engine-plugins.md) that should show up in this list, you need to add an `ezPluginBundle` file.

0 commit comments

Comments
 (0)