When a function in a blueprint (BP created or BlueprintCallable from code) has nodes calling that function in the event graph, deleting the function entirely does not remove the nodes that already exist.
If the node is free floating (not connected to an event execution path) the blueprint will still compile, but this can lead to packaging errors with blueprint nativization. This was not reproduced locally, log message provided by licensee.
No - same behavior occurs in 4.15.3
The function call node is still present on the graph even though the function no longer exists.
Any unused function call nodes are removed if the function is deleted. If a function call node is in use, a warning prompt is presented when deleting the function.
LogOutputDevice:Error: Ensure condition failed: FunctionReference.IsSelfContext() || (MemberClass != nullptr) || bIsLocalMacro [File:\Engine\Source\Editor\BlueprintGraph\Private\K2Node_CallFunction.cpp] [Line: 1701]
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-49686 in the post.
|Component||UE - Gameplay - Blueprint|
|Affects Versions||4.15.3, 4.16.3, 4.17.1, 4.17.2|
|Created||Sep 13, 2017|
|Resolved||Sep 13, 2017|
|Updated||Apr 27, 2018|