From licensee:
A simple example is setup in the project, the relevant part is just this code:
UCLASS(meta = (BlueprintSpawnableComponent)) class TESTBUGEDITORONLYEDITOR_API UEditorOnlyComponent : public UActorComponent { GENERATED_BODY() public: UEditorOnlyComponent() { bIsEditorOnly = true; } #if WITH_EDITORONLY_DATA UPROPERTY(EditAnywhere, BlueprintReadWrite) AActor* ActorReference; #endif };
If you create a non-editor-only actor with this component and you reference another non-editor-only actor through a editor-only uproperty, Play In Editor will crash if you haven't saved the level first.
Please note that this only happens if you haven't saved these actors. Saving the level first before getting into PIE prevents this crash.
Assertion failed: ActorDescInstance [File:E:\Build_E\FN-Main\Engine\Source\Runtime\Engine\Private\WorldPartition\ActorDescContainerInstance.cpp] [Line: 311] > UnrealEditor-Engine.dll!UActorDescContainerInstance::GetActorDescInstanceChecked(const FGuid & InActorGuid) Line 311 C++ UnrealEditor-Engine.dll!UWorldPartitionRuntimeLevelStreamingCell::AddActorToCell(const FStreamingGenerationActorDescView & ActorDescView) Line 320 C++ UnrealEditor-Engine.dll!UWorldPartitionRuntimeHash::PopulateRuntimeCell(UWorldPartitionRuntimeCell * RuntimeCell, const TArray<IStreamingGenerationContext::FActorInstance,TSizedDefaultAllocator<32>> & ActorInstances, TArray<FString,TSizedDefaultAllocator<32>> * OutPackagesToGenerate) Line 342 C++ UnrealEditor-Engine.dll!UWorldPartitionRuntimeHashSet::GenerateStreaming(UWorldPartitionStreamingPolicy * StreamingPolicy, const IStreamingGenerationContext * StreamingGenerationContext, TArray<FString,TSizedDefaultAllocator<32>> * OutPackagesToGenerate) Line 182 C++ UnrealEditor-Engine.dll!UWorldPartition::GenerateContainerStreaming::__l2::<lambda_4>::operator()(const UActorDescContainerInstance * InActorDescContainerInstance) Line 1995 C++ UnrealEditor-Engine.dll!UWorldPartition::GenerateContainerStreaming(const UWorldPartition::FGenerateStreamingParams & InParams, UWorldPartition::FGenerateStreamingContext & InContext) Line 2036 C++ UnrealEditor-Engine.dll!UWorldPartition::GenerateStreaming(const UWorldPartition::FGenerateStreamingParams & InParams, UWorldPartition::FGenerateStreamingContext & InContext) Line 1920 C++ UnrealEditor-Engine.dll!UWorldPartition::PrepareEditorGameWorld() Line 479 C++ [Inline Frame] UnrealEditor-Engine.dll!Invoke(void(UWorldPartition::*)(bool)) Line 66 C++ [Inline Frame] UnrealEditor-Engine.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(UWorldPartition::*)(bool) &) Line 317 C++ UnrealEditor-Engine.dll!TBaseUObjectMethodDelegateInstance<0,UWorldPartition,void __cdecl(bool),FDefaultDelegateUserPolicy>::ExecuteIfSafe(bool <Params_0>) Line 667 C++ [Inline Frame] UnrealEditor-UnrealEd.dll!TMulticastDelegateBase<FDefaultDelegateUserPolicy>::Broadcast(bool) Line 258 C++ UnrealEditor-UnrealEd.dll!TMulticastDelegate<void __cdecl(bool),FDefaultDelegateUserPolicy>::Broadcast(bool <Params_0>) Line 1079 C++ UnrealEditor-UnrealEd.dll!UEditorEngine::StartPlayInEditorSession(FRequestPlaySessionParams & InRequestParams) Line 2563 C++ UnrealEditor-UnrealEd.dll!UEditorEngine::StartQueuedPlaySessionRequestImpl() Line 1176 C++ UnrealEditor-UnrealEd.dll!UEditorEngine::StartQueuedPlaySessionRequest() Line 1077 C++ UnrealEditor-UnrealEd.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 2029 C++ UnrealEditor-UnrealEd.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 550 C++ UnrealEditor.exe!FEngineLoop::Tick() Line 5874 C++ [Inline Frame] UnrealEditor.exe!EngineTick() Line 69 C++ UnrealEditor.exe!GuardedMain(const wchar_t * CmdLine) Line 196 C++ UnrealEditor.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 266 C++ UnrealEditor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 317 C++ [Inline Frame] UnrealEditor.exe!invoke_main() Line 102 C++ UnrealEditor.exe!__scrt_common_main_seh() Line 288 C++ kernel32.dll!00007fffcb767374() Unknown ntdll.dll!00007fffcba1cc91() Unknown
How does TextureRenderTarget2D get TArray<uint8> type data?
Why does the REMOVE method of map container remove elements have memory leaks?
How do I set a material as a post-processing material?
What is the difference between Camera and CineCamera?
What controls of umg have mouse wheel events in UE4.27?
How to assign a value to a member of UMG's UMaterialInterface pointer type in C++?
Why does UV setting float2(1,1) display incorrectly in the material's custom node?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-230615 in the post.
9 |
Component | UE - World Creation - Worldbuilding Tools - World Partition |
---|---|
Target Fix | 5.6 |
Created | Nov 15, 2024 |
---|---|
Updated | Nov 26, 2024 |