Description

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.

Callstack
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

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-230615 in the post.

9
Login to Vote

Unresolved
CreatedNov 15, 2024
UpdatedNov 26, 2024
View Jira Issue