This is a duplicate of the forum entry : Sessions, ActiveNetDrivers empty, crash since UE4 4.13.0 - C++ - Epic Developer Community Forums because I did not know I should post here.
I have a simple Multiplayer project which works in 4.12.5 and 4.13 (with conversion).
I put the relevant changes in my real project in 4.13, but it does not work there.
I am using How To Use Sessions In C++ as reference how to do it, because I did not find any other documentation which made any sense to me. “Look into shooter” is NOT a documentation.
I think I have all relevant changes in my real project, but instead of just working like my test project, it always crashed in
UnrealEngine.cpp line ca. 706
where there is this code:
for (FNamedNetDriver& ActiveNetDriver : ActiveNetDrivers)
{
Collector.AddReferencedObject(ActiveNetDriver.NetDriver, ReferencingObject);
}
and hovering tells me that ActiveNetDrivers is “Empty”.
I saw this entry in the update log:
New: Online Subsystem modules have
been moved to Plugins, out of
Engine/Source. Engine’s dependency on
OnlineSubsystem modules have been
removed, in some places replaced with
a new interface UOnlineEngineInterface
for a small subset of features Engine
requires. UOnlineEngineInterface is
implemented in
UOnlineEngineInterfaceImpl.
FUniqueNetId and FUniqueNetIdWrapper
have been promoted to a basic type in
core, but they are still opaque types
and must be created by online
subsystems.
and I think it possible that this is the reason for my problem.
Perhaps the original Project has some network vodoo which my new 4.13 project has not.
I had the idea that in DefaultEngine.ini the section [/Script/Engine.GameEngine] could be of interest.
But I just don’t find any documentation about this.
Any ideas?
I think it will not help, but here is the callstack:
UE4Editor-CoreUObject.dll!FGCCollector::HandleObjectReference(UObject * & Object, const UObject * ReferencingObject, const UProperty * ReferencingProperty) Line 571 C++
> UE4Editor-Engine.dll!FWorldContext::AddReferencedObjects(FReferenceCollector & Collector, const UObject * ReferencingObject) Line 707 C++
UE4Editor-Engine.dll!UEngine::AddReferencedObjects(UObject * InThis, FReferenceCollector & Collector) Line 1752 C++
UE4Editor-CoreUObject.dll!TFastReferenceCollector<FGCReferenceProcessor,FGCCollector,FGCArrayPool,0>::ProcessObjectArray(TArray<UObject *,FDefaultAllocator> & InObjectsToSerializeArray, TRefCountPtr<FGraphEvent> & MyCompletionGraphEvent) Line 352 C++
UE4Editor-CoreUObject.dll!TGraphTask<TFastReferenceCollector<FGCReferenceProcessor,FGCCollector,FGCArrayPool,0>::FCollectorTask>::ExecuteTask(TArray<FBaseGraphTask *,FDefaultAllocator> & NewTasks, ENamedThreads::Type CurrentThread) Line 868 C++
UE4Editor-Core.dll!FTaskThreadAnyThread::ProcessTasks() Line 1255 C++
UE4Editor-Core.dll!FTaskThreadAnyThread::ProcessTasksUntilQuit(int QueueIndex) Line 1149 C++
UE4Editor-Core.dll!FTaskThreadBase::Run() Line 621 C++
UE4Editor-Core.dll!FRunnableThreadWin::Run() Line 74 C++
UE4Editor-Core.dll!FRunnableThreadWin::GuardedRun() Line 23 C++
I created a new project,
this time I put into the project the networking code first, tested it with a mini UMG, everything works.
I add the slate code, everything works.
I close the editor and the Visual Studio, rebuild everything, just a rebuild, no other changes: It crashes again.
Any idea?