I have a simple custom editor module in my project. Whenever I cause a hot-reload, and then later close the editor, I cannot open it again. The error message is “The game module ‘MyCustomModule’ could not be loaded. There may be an operating system error or the module may not be properly set up.” After that, the engine crashes with an "Assertion failed: GIsHotReload [File:D:\Build\++UE4+Release-4.12+Compile\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectBase.cpp] [Line: 564] "
. However, my module compiles just fine.
When this happens, simply rebuilding my game and then launching the editor fixes the problem. I think this is caused by the presence of the hot reload files in my “C:/Documents/MyProject/Binaries” folder, because simply deleting the “UE4Editor-MyProject-XXXX.dll” fixes the problem too.
My guess would be that because my module is not hot-reloaded (because it is an editor module), and that the “latest version” of the binaries is the hot-reloaded version, it doesn’t consider my module to be compatible with the version of the game module. That, or it doesn’t find it because my “MyCustomModule.dll” isn’t in the same format as the game module hot-reloaded binaries (without that “-XXXX” at the end).
These guesses are just shots in the dark. For now, I have made a script to launch the editor that deletes any hot-reload files in my binaries folder, and it works just fine.
I can also provide the full code from my plugin and from my .uproject file, if that could help.