Hi,
During HotReloading, the process crash during FStringAssetReference property reloading.
Here is the definition:
UPROPERTY(EditDefaultsOnly, Category = Test)
FStringAssetReference MyClass;
It is declared inside a Struct with USTRUCT() attribute.
This was working perfectly in 4.6.1.
Could you please look at it?
Error in FArchive& FArchive::operator<<(struct FStringAssetReference& Value):
UE_LOG(LogSerialization, Fatal, TEXT(“FArchive does not support FAssetPtr serialization. Use FArchiveUObject instead.”));
Stack Trace
UE4Editor-Core.dll!FArchive::operator<<(FStringAssetReference & Value) Line 160 C++
UE4Editor-CoreUObject.dll!FStringAssetReference::Serialize(FArchive & Ar) Line 26 C++
UE4Editor-CoreUObject.dll!UStructProperty::SerializeItem(FArchive & Ar, void * Value, int MaxReadBytes, const void * Defaults) Line 124 C++
UE4Editor-CoreUObject.dll!FPropertyTag::SerializeTaggedProperty(FArchive & Ar, UProperty * Property, unsigned char * Value, int MaxReadBytes, unsigned char * Defaults) Line 139 C++
UE4Editor-CoreUObject.dll!UStruct::SerializeTaggedProperties(FArchive & Ar, unsigned char * Data, UStruct * DefaultsStruct, unsigned char * Defaults, const UObject * BreakRecursionIfFullyLoad) Line 1250 C++
UE4Editor-CoreUObject.dll!UStructProperty::SerializeItem(FArchive & Ar, void * Value, int MaxReadBytes, const void * Defaults) Line 147 C++
UE4Editor-HotReload.dll!FHotReloadClassReinstancer::UpdateDefaultProperties() Line 418 C++
UE4Editor-HotReload.dll!FHotReloadModule::ReinstanceClass(UClass * OldClass, UClass * NewClass) Line 849 C++
UE4Editor-CoreUObject.dll!UClassReplaceHotReloadClasses() Line 703 C++
UE4Editor-CoreUObject.dll!TBaseStaticDelegateInstance<void __cdecl(void)>::ExecuteIfSafe() Line 921 C++
UE4Editor-Core.dll!TBaseMulticastDelegate<void>::Broadcast() Line 1030 C++
UE4Editor-Core.dll!FModuleManager::LoadModuleWithFailureReason(const FName InModuleName, EModuleLoadResult & OutFailureReason, const bool bWasReloaded) Line 359 C++
UE4Editor-Core.dll!FModuleManager::LoadModule(const FName InModuleName, const bool bWasReloaded) Line 238 C++
UE4Editor-HotReload.dll!FHotReloadModule::DoHotReloadInternal(bool bRecompileFinished, ECompilationResult::Type CompilationResult, TArray<UPackage *,FDefaultAllocator> Packages, TArray<FName,FDefaultAllocator> InDependentModules, FOutputDevice & HotReloadAr) Line 654 C++
UE4Editor-HotReload.dll!FHotReloadModule::DoHotReloadCallback(bool bRecompileFinished, ECompilationResult::Type CompilationResult, TArray<UPackage *,FDefaultAllocator> Packages, TArray<FName,FDefaultAllocator> InDependentModules, FOutputDevice & HotReloadAr) Line 620 C++
UE4Editor-HotReload.dll!TBaseRawMethodDelegateInstance<0,FHotReloadModule,TTypeWrapper<void> __cdecl(bool,enum ECompilationResult::Type),TArray<UPackage * __ptr64,FDefaultAllocator>,TArray<FName,FDefaultAllocator>,FOutputDevice & __ptr64>::Execute(bool <Params_0>, ECompilationResult::Type <Params_1>) Line 492 C++
UE4Editor-HotReload.dll!TBaseRawMethodDelegateInstance<0,FHotReloadModule,void __cdecl(bool,enum ECompilationResult::Type),TArray<UPackage * __ptr64,FDefaultAllocator>,TArray<FName,FDefaultAllocator>,FOutputDevice & __ptr64>::ExecuteIfSafe(bool <Params_0>, ECompilationResult::Type <Params_1>) Line 582 C++
UE4Editor-HotReload.dll!FHotReloadModule::CheckForFinishedModuleDLLCompile(const bool bWaitForCompletion, bool & bCompileStillInProgress, bool & bCompileSucceeded, FOutputDevice & Ar, bool bFireEvents) Line 1473 C++
UE4Editor-HotReload.dll!FHotReloadModule::Tick() Line 433 C++
UE4Editor-UnrealEd.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 946 C++
UE4Editor-UnrealEd.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 347 C++
UE4Editor.exe!FEngineLoop::Tick() Line 2257 C++
UE4Editor.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 142 C++
UE4Editor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 191 C++
Do you need more information?
Thanks,