Description

A crash occurs when GetPropertyRef node is executed from a SubTree that is linked within a StateTree, which itself has been linked from a parent StateTree via a Linked Asset ** .

The processing context flow is as follows:
StateTree_A → LinkedAsset → StateTree_B → Link → SubTree → Task → GetPropertyRef.

Steps to Reproduce
  1. Open the attached repro project in ue5.6 
  2. Start PIE

 

Result:

Editor crashes with the following log : 

Script Stack (2 frames) :
/Game/STT_Crash.STT_Crash_C.ExecuteUbergraph_STT_Crash
/Game/STT_Crash.STT_Crash_C.ReceiveLatentEnterStateAssertion failed: SourceView.GetStruct() == PropertyAccess.SourceStructType [File:D:\dev\UnrealEngine-5.6.0\Engine\Plugins\Runtime\StateTree\Source\StateTreeModule\Public\StateTreePropertyBindings.h] [Line: 584] 
 
Callstack

UnrealEditor-StateTreeModule-Win64-Debug.dll!FStateTreePropertyBindings::GetMutablePropertyPtr<void>(FStateTreeDataView SourceView, const FStateTreePropertyAccess & PropertyAccess) Line 584    C++
UnrealEditor-StateTreeModule-Win64-Debug.dll!UE::StateTree::PropertyRefHelpers::GetMutablePtrToProperty<void>(const FStateTreePropertyRef & PropertyRef, FStateTreeInstanceStorage & InstanceDataStorage, const FStateTreeExecutionFrame & ExecutionFrame, const FStateTreeExecutionFrame * ParentExecutionFrame, const FProperty * * OutSourceProperty) Line 70    C++
UnrealEditor-StateTreeModule-Win64-Debug.dll!UStateTreeNodeBlueprintBase::GetMutablePtrToProperty(const FStateTreeBlueprintPropertyRef & PropertyRef, FProperty * & OutSourceProperty) Line 73    C++
UnrealEditor-StateTreeModule-Win64-Debug.dll!UStateTreeNodeBlueprintBase::IsPropertyRefValid(const FStateTreeBlueprintPropertyRef & PropertyRef) Line 104    C++
UnrealEditor-StateTreeModule-Win64-Debug.dll!UStateTreeNodeBlueprintBase::execIsPropertyRefValid(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 230    C++
UnrealEditor-CoreUObject-Win64-Debug.dll!UFunction::Invoke(UObject * Obj, FFrame & Stack, void * const Z_Param__Result) Line 7453    C++
UnrealEditor-CoreUObject-Win64-Debug.dll!UObject::CallFunction(FFrame & Stack, void * const Z_Param__Result, UFunction * Function) Line 1175    C++
UnrealEditor-CoreUObject-Win64-Debug.dll!UObject::execFinalFunction(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 3279    C++
UnrealEditor-CoreUObject-Win64-Debug.dll!FFrame::Step(UObject * Context, void * const Z_Param__Result) Line 510    C++
UnrealEditor-CoreUObject-Win64-Debug.dll!UObject::execLetBool(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 3045    C++
UnrealEditor-CoreUObject-Win64-Debug.dll!FFrame::Step(UObject * Context, void * const Z_Param__Result) Line 510    C++
UnrealEditor-CoreUObject-Win64-Debug.dll!ProcessLocalScriptFunction(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 1276    C++
UnrealEditor-CoreUObject-Win64-Debug.dll!ProcessScriptFunction<void (_cdecl*)(UObject *,FFrame &,void *)>(UObject * Context, UFunction * Function, FFrame & Stack, void * const Z_Param_Result, void[Image Removed](UObject *, FFrame &, void *) ExecFtor) Line 1070    C++
UnrealEditor-CoreUObject-Win64-Debug.dll!ProcessLocalFunction::__l2::<lambda_1>::operator()() Line 1320    C++
UnrealEditor-CoreUObject-Win64-Debug.dll!ProcessLocalFunction(UObject * Context, UFunction * Fn, FFrame & Stack, void * const Z_Param__Result) Line 1339    C++
UnrealEditor-CoreUObject-Win64-Debug.dll!UObject::execLocalFinalFunction(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 3293    C++
UnrealEditor-CoreUObject-Win64-Debug.dll!FFrame::Step(UObject * Context, void * const Z_Param__Result) Line 510    C++
UnrealEditor-CoreUObject-Win64-Debug.dll!ProcessLocalScriptFunction(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 1276    C++
UnrealEditor-CoreUObject-Win64-Debug.dll!UObject::ProcessInternal(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 1365    C++
UnrealEditor-CoreUObject-Win64-Debug.dll!UFunction::Invoke(UObject * Obj, FFrame & Stack, void * const Z_Param__Result) Line 7453    C++
UnrealEditor-CoreUObject-Win64-Debug.dll!UObject::ProcessEvent(UFunction * Function, void * Parms) Line 2211    C++
UnrealEditor-StateTreeModule-Win64-Debug.dll!UStateTreeTaskBlueprintBase::ReceiveLatentEnterState(const FStateTreeTransitionResult & Transition) Line 336    C++
UnrealEditor-StateTreeModule-Win64-Debug.dll!UStateTreeTaskBlueprintBase::EnterState(FStateTreeExecutionContext & Context, const FStateTreeTransitionResult & Transition) Line 52    C++
UnrealEditor-StateTreeModule-Win64-Debug.dll!FStateTreeBlueprintTaskWrapper::EnterState(FStateTreeExecutionContext & Context, const FStateTreeTransitionResult & Transition) Line 162    C++
UnrealEditor-StateTreeModule-Win64-Debug.dll!FStateTreeExecutionContext::EnterState(FStateTreeTransitionResult & Transition) Line 2763    C++
UnrealEditor-StateTreeModule-Win64-Debug.dll!FStateTreeExecutionContext::Start(FStateTreeExecutionContext::FStartParameters Parameters) Line 1209    C++
UnrealEditor-GameplayStateTreeModule-Win64-Debug.dll!UStateTreeComponent::StartTree() Line 174    C++
UnrealEditor-GameplayStateTreeModule-Win64-Debug.dll!UStateTreeComponent::StartLogic() Line 149    C++
UnrealEditor-GameplayStateTreeModule-Win64-Debug.dll!UStateTreeComponent::BeginPlay() Line 97    C++
UnrealEditor-Engine-Win64-Debug.dll!AActor::BeginPlay() Line 4763    C++
UnrealEditor-Engine-Win64-Debug.dll!AActor::DispatchBeginPlay(bool bFromLevelStreaming) Line 4721    C++
UnrealEditor-Engine-Win64-Debug.dll!AWorldSettings::NotifyBeginPlay() Line 362    C++
UnrealEditor-Engine-Win64-Debug.dll!AGameStateBase::HandleBeginPlay() Line 228    C++
UnrealEditor-Engine-Win64-Debug.dll!AGameModeBase::StartPlay() Line 207    C++
UnrealEditor-Engine-Win64-Debug.dll!UWorld::BeginPlay() Line 5916    C++
UnrealEditor-Engine-Win64-Debug.dll!UGameInstance::StartPlayInEditorGameInstance(ULocalPlayer * LocalPlayer, const FGameInstancePIEParameters & Params) Line 567    C++
UnrealEditor-UnrealEd-Win64-Debug.dll!UEditorEngine::CreateInnerProcessPIEGameInstance(FRequestPlaySessionParams & InParams, const FGameInstancePIEParameters & InPIEParameters, int InPIEInstanceIndex) Line 3182    C++
UnrealEditor-UnrealEd-Win64-Debug.dll!UEditorEngine::OnLoginPIEComplete_Deferred(int LocalUserNum, bool bWasSuccessful, FString ErrorString, FPieLoginStruct DataStruct) Line 1626    C++
UnrealEditor-UnrealEd-Win64-Debug.dll!UEditorEngine::CreateNewPlayInEditorInstance(FRequestPlaySessionParams & InRequestParams, const bool bInDedicatedInstance, const EPlayNetMode InNetMode) Line 1890    C++
UnrealEditor-UnrealEd-Win64-Debug.dll!UEditorEngine::StartPlayInEditorSession(FRequestPlaySessionParams & InRequestParams) Line 2913    C++
UnrealEditor-UnrealEd-Win64-Debug.dll!UEditorEngine::StartQueuedPlaySessionRequestImpl() Line 1192    C++
UnrealEditor-UnrealEd-Win64-Debug.dll!UEditorEngine::StartQueuedPlaySessionRequest() Line 1105    C++
UnrealEditor-UnrealEd-Win64-Debug.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 2038    C++
UnrealEditor-UnrealEd-Win64-Debug.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 533    C++
UnrealEditor-Win64-Debug.exe!FEngineLoop::Tick() Line 5625    C++
UnrealEditor-Win64-Debug.exe!EngineTick() Line 61    C++
UnrealEditor-Win64-Debug.exe!GuardedMain(const wchar_t * CmdLine) Line 190    C++
UnrealEditor-Win64-Debug.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 271    C++
UnrealEditor-Win64-Debug.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 339    C++
[Inline Frame] UnrealEditor-Win64-Debug.exe!invoke_main() Line 102    C++
UnrealEditor-Win64-Debug.exe!__scrt_common_main_seh() Line 288    C++
kernel32.dll!00007ff95d5c7374()    Unknown
ntdll.dll!00007ff95f3fcc91()    Unknown

Have Comments or More Details?

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

0
Login to Vote

Unresolved
ComponentUE - AI - StateTree
Affects Versions5.6
Target Fix5.7
CreatedAug 26, 2025
UpdatedSep 2, 2025
View Jira Issue