Multiple game modules hot reload

Hi. I have my primary game module, and I also created additional module, it all works very good, but one problem appears, hot reload only takes my primary module. Additional one I have to compile in visual and restart editor. It simply does not pick it up for hot reload. Is there anywhere where I should register it for hot reload?

Really? Nobody?

I believe that only modules containing UObject derived classes are hot reloadable, as only these classes are supported for hot reloading (as far as I am aware)

Got it working =))

Since Unreal AnswerHub is undergoing maintenance (and has been undergoing maintenance for the past 11 days), I’m left here wondering what was the solution to get hot reloading on Modules working. Also sorry-not-sorry for necroing.

Well, the user firzgard said* :*

Thanks to him.
And it was what I was using for month, even if I find it kind of strange way to do this. I mean, in this way it’s not recompiling everything, just the module that you ask to be recompile, but the software knowing which modules are not up to date and recompiling them then hot-reloading them automaticly would be nice. But in reality I don’t know anything and it’s probably way more complex than what I may think. ^^

Anyway, I came back to this post because I have a issue with the 4.25.
It’s seems that they moved where we can enable the window “Modules” and I could’t find it now )=

Anyone know ?

I found out that there are commands to handle modules :

But the reload (actuallly recompile call the reload one at the end of the compilation too) made my Unreal crash… So I still need to reopen my project to see the changes.
No one have an idea how to hot-reload modules in 4.25 ?



Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0467aef8

UE4Editor_Engine!FActorComponentTickFunction::ExecuteTickHelper<<lambda_a11669b3e3f4a9399f884e36456a23d1> >() [D:\Build\++UE4+Licensee\Sync\Engine\Source\Runtime\Engine\Classes\GameFramework\Actor.h:3466]
UE4Editor_Engine!FActorComponentTickFunction::ExecuteTick() [D:\Build\++UE4+Licensee\Sync\Engine\Source\Runtime\Engine\Private\Components\ActorComponent.cpp:976]
UE4Editor_Engine!FTickFunctionTask::DoTask() [D:\Build\++UE4+Licensee\Sync\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:283]
UE4Editor_Engine!TGraphTask<FTickFunctionTask>::ExecuteTask() [D:\Build\++UE4+Licensee\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:849]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [D:\Build\++UE4+Licensee\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:692]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [D:\Build\++UE4+Licensee\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:587]
UE4Editor_Core!FTaskGraphImplementation::WaitUntilTasksComplete() [D:\Build\++UE4+Licensee\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:1478]
UE4Editor_Engine!FTickTaskSequencer::ReleaseTickGroup() [D:\Build\++UE4+Licensee\Sync\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:558]
UE4Editor_Engine!FTickTaskManager::RunTickGroup() [D:\Build\++UE4+Licensee\Sync\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:1523]
UE4Editor_Engine!UWorld::RunTickGroup() [D:\Build\++UE4+Licensee\Sync\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:783]
UE4Editor_Engine!UWorld::Tick() [D:\Build\++UE4+Licensee\Sync\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:1558]
UE4Editor_UnrealEd!UEditorEngine::Tick() [D:\Build\++UE4+Licensee\Sync\Engine\Source\Editor\UnrealEd\Private\EditorEngine.cpp:1515]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [D:\Build\++UE4+Licensee\Sync\Engine\Source\Editor\UnrealEd\Private\UnrealEdEngine.cpp:414]
UE4Editor!FEngineLoop::Tick() [D:\Build\++UE4+Licensee\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:4850]
UE4Editor!GuardedMain() [D:\Build\++UE4+Licensee\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:169]
UE4Editor!GuardedMainWrapper() [D:\Build\++UE4+Licensee\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:137]
UE4Editor!WinMain() [D:\Build\++UE4+Licensee\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:268]
UE4Editor!__scrt_common_main_seh() [d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll


Hot Reload has been very unstable and most people I know avoid it like the plague now.

If you want to compile in editor just switch to ‘Live Coding’. It’s much faster and handles modules without any issues. Header/Constructor changes will require a restart but Hot Reload never really fully supported that anyway.