Creating a local variable inside a Blueprint Function with the same name as a replicated property of AActor (for example, “Role” or “RemoteRole”) and then using a connected Set Variable node for it causes the editor to crash during compilation.
The crash happens in FKCHandler_VariableSet::Transform when the compiler incorrectly identifies the local variable as a replicated Actor property and runs the dormancy transform. When “Role” or “RemoteRole” is matched, ShouldFlushDormancyOnSet returns true and the transform path assumes the node has a Self pin. Since Set Local Variable nodes don’t have one, FindPinChecked triggers a check failure.
This issue results in an immediate crash during compilation, and if saved, the Blueprint asset becomes unloadable because the crash reoccurs during load-time compilation.
Licensee was suggested to avoid using replicated Actor property names for local variables such as "Role", "RemoteRole", "Owner", "Instigator", etc.
Issue verified in UE 5.6, 5.7 and a source build from the Main stream at CL 47774334.
1. Open the attached repro project.
2. Open the BP_Actor blueprint.
3. Connect the Set Var node.
4. Compile.
Expected result: Blueprint compiles without issues.
Actual result: The editor crashes immediately. If the user connects the execution pin and saves the asset before compiling, the Blueprint cannot be loaded again because loading the asset triggers the same crash during compile.
UE 5.6.1 Callstack:
> [Inline Frame] UnrealEditor-BlueprintGraph.dll!UEdGraphNode::FindPinChecked(const FName) Line 586 C++
UnrealEditor-BlueprintGraph.dll!FKCHandler_VariableSet::Transform(FKismetFunctionContext & Context, UEdGraphNode * Node) Line 186 C++
UnrealEditor-KismetCompiler.dll!FKismetCompilerContext::TransformNodes(FKismetFunctionContext & Context) Line 1911 C++
UnrealEditor-KismetCompiler.dll!FKismetCompilerContext::PrecompileFunction(FKismetFunctionContext & Context, EInternalCompilerFlags InternalFlags) Line 2250 C++
UnrealEditor-KismetCompiler.dll!FKismetCompilerContext::CompileClassLayout(EInternalCompilerFlags InternalFlags) Line 4911 C++
UnrealEditor-Kismet.dll!FBlueprintCompilationManagerImpl::FlushCompilationQueueImpl(bool bSuppressBroadcastCompiled, TArray<UBlueprint *,TSizedDefaultAllocator<32>> * BlueprintsCompiled, TArray<UBlueprint *,TSizedDefaultAllocator<32>> * BlueprintsCompiledOrSkeletonCompiled, FUObjectSerializeContext * InLoadContext, TMap<UClass *,TMap<UObject *,UObject *,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<UObject *,UObject *,0>>,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<UClass *,TMap<UObject *,UObject *,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<UObject *,UObject *,0>>,0>> * OldToNewTemplates) Line 1450 C++
UnrealEditor-Kismet.dll!FBlueprintCompilationManagerImpl::CompileSynchronouslyImpl(const FBPCompileRequest & Request) Line 376 C++
UnrealEditor-UnrealEd.dll!FKismetEditorUtilities::CompileBlueprint(UBlueprint * BlueprintObj, EBlueprintCompileOptions CompileFlags, FCompilerResultsLog * pResults) Line 777 C++
UnrealEditor-Kismet.dll!FBlueprintEditor::Compile() Line 4193 C++
[Inline Frame] UnrealEditor-Kismet.dll!Invoke(void(FBlueprintEditor::*)()) Line 66 C++
[Inline Frame] UnrealEditor-Kismet.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(FBlueprintEditor::*)() &) Line 320 C++
UnrealEditor-Kismet.dll!V::TBaseSPMethodDelegateInstance::ExecuteIfSafe() Line 309 C++
[Inline Frame] UnrealEditor-Slate.dll!TDelegate<void __cdecl(void),FDefaultDelegateUserPolicy>::ExecuteIfBound() Line 635 C++
UnrealEditor-Slate.dll!FUIAction::Execute() Line 139 C++
UnrealEditor-Slate.dll!FUICommandList::ExecuteAction(const TSharedRef<FUICommandInfo const ,1> InUICommandInfo) Line 117 C++
UnrealEditor-Slate.dll!SToolBarButtonBlock::OnClicked() Line 518 C++
[Inline Frame] UnrealEditor-Slate.dll!Invoke(FReply(SToolBarButtonBlock::*)()) Line 66 C++
[Inline Frame] UnrealEditor-Slate.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(FReply(SToolBarButtonBlock::*)() &) Line 320 C++
UnrealEditor-Slate.dll!V::TBaseSPMethodDelegateInstance::Execute() Line 292 C++
[Inline Frame] UnrealEditor-Slate.dll!TDelegate<FReply __cdecl(void),FDefaultDelegateUserPolicy>::Execute() Line 614 C++
UnrealEditor-Slate.dll!SButton::ExecuteOnClick() Line 495 C++
UnrealEditor-Slate.dll!SButton::OnMouseButtonUp(const FGeometry & MyGeometry, const FPointerEvent & MouseEvent) Line 419 C++
UnrealEditor-Slate.dll!??R<lambda_2>@?7??RoutePointerUpEvent@FSlateApplication@@QEAA?AVFReply@@AEBVFWidgetPath@@AEBUFPointerEvent@@@Z@QEBA@AEBVFArrangedWidget@@1@Z(const FArrangedWidget & TargetWidget, const FPointerEvent & Event) Line 5367 C++
UnrealEditor-Slate.dll!??$Route@VFReply@@VFToLeafmostPolicy@FEventRouter@@UFPointerEvent@@V<lambda_2>@?7??RoutePointerUpEvent@FSlateApplication@@QEAA?AV1@AEBVFWidgetPath@@AEBU4@@Z@@FEventRouter@@SA?AVFReply@@PEAVFSlateApplication@@VFToLeafmostPolicy@0@UFPointerEvent@@AEBV<lambda_2>@?7??RoutePointerUpEvent@2@QEAA?AV1@AEBVFWidgetPath@@AEBU4@@Z@W4ESlateDebuggingInputEvent@@@Z(FSlateApplication * ThisApplication, FEventRouter::FToLeafmostPolicy RoutingPolicy, FPointerEvent EventCopy, const FSlateApplication::RoutePointerUpEvent::__l8::<lambda_2> & Lambda, ESlateDebuggingInputEvent DebuggingInputEvent) Line 456 C++
UnrealEditor-Slate.dll!FSlateApplication::RoutePointerUpEvent(const FWidgetPath & WidgetsUnderPointer, const FPointerEvent & PointerEvent) Line 5353 C++
UnrealEditor-Slate.dll!FSlateApplication::ProcessMouseButtonUpEvent(const FPointerEvent & MouseEvent) Line 5938 C++
UnrealEditor-Slate.dll!FSlateApplication::OnMouseUp(const EMouseButtons::Type Button, const UE::Math::TVector2<double> CursorPos) Line 5894 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 3052 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,1> & NativeWindow, HWND__ * InHWnd, unsigned int InMessage, unsigned __int64 InWParam, __int64 InLParam, int MouseX, int MouseY, unsigned int RawInputFlags) Line 3570 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 2725 C++
[Inline Frame] UnrealEditor-ApplicationCore.dll!WindowsApplication_WndProc(HWND__ *) Line 1716 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 1722 C++
[External Code]
[Inline Frame] UnrealEditor-ApplicationCore.dll!WinPumpMessages() Line 116 C++
UnrealEditor-ApplicationCore.dll!FWindowsPlatformApplicationMisc::PumpMessages(bool bFromMainLoop) Line 145 C++
UnrealEditor.exe!FEngineLoop::Tick() Line 5554 C++
[Inline Frame] UnrealEditor.exe!EngineTick() Line 60 C++
UnrealEditor.exe!GuardedMain(const wchar_t * CmdLine) Line 187 C++
UnrealEditor.exe!GuardedMainWrapper(const wchar_t * CmdLine) Line 128 C++
UnrealEditor.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 282 C++
UnrealEditor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 339 C++
[External Code]
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-352508 in the post.
| 0 |
| Component | UE - Framework - Blueprint |
|---|---|
| Affects Versions | 5.6, 5.7, 5.8 |
| Created | Nov 5, 2025 |
|---|---|
| Updated | Dec 8, 2025 |