Refactored FindField into FindUField and FindFProperty to avoid confusion caused by the fact that FindField<UField> will no longer return FProperties.
#jira UE-90683
#rb Steve.Robb
#tests Basic editor functionality test, cooked and ran PC client and server, bot soak tests for two hours
#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 12190998 in //UE4/Release-4.25/... via CL 12190999
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v661-12148976)
[CL 12191300 by robert manuszewski in Main branch]
#rb Phllip.Kavan
#jira UE-89057
#ROBOMERGE-SOURCE: CL 11522401 via CL 11522407 via CL 11522423
#ROBOMERGE-BOT: (v654-11333218)
[CL 11525131 by dan oconnor in Main branch]
#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870586 by ryan durand in Main branch]
#rb Phillip.Kavan
#jira UE-85698
#lockdown Cristina.Riveron
#ROBOMERGE-SOURCE: CL 10804720 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v610-10636431)
[CL 10804739 by dan oconnor in Main branch]
Change summary:
- Added "(deprecated)" to the display bar UI at the top of user-defined Blueprint event and function graphs.
- Added FEdGraphNodeDeprecationResponse along with EEdGraphNodeDeprecationType and EEdGraphNodeDeprecationMessageType enums.
- Added UEdGraphNode::HasDeprecatedReference() to differentiate between IsDeprecated() (which now means the node itself is deprecated) vs. a reference to a deprecated class member (e.g. variable, function).
- Deprecated UEdGraphNode::GetDeprecationMessage() and UEdGraphNode::ShouldWarnOnDeprecation() APIs in favor of UEdGraphNode::GetDeprecationResponse() (new). Node subclasses should override this when they need to override the message type (EEdGraphNodeDeprecationMessageType) and/or the message text based on the type of deprecation that's being reported by the node (EEdGraphNodeDeprecationType).
- A default deprecation response is now constructed for both cases by UEdGraphNode.
- Added a case for deprecation "notes" to FGraphCompilerContext::ValidateNode(). These are currently used to visually identify deprecated function entry nodes and event nodes in the Blueprint class in which they are deprecated, as these represent the definitions of those functions and not actual usage or call site (which we continue to warn about).
- Modified various node subclasses in which it was necessary to convert over to using a GetDeprecationResponse() method override.
#rb Dan.OConnor
#jira UE-72938, UE-73322
[CL 6676710 by Phillip Kavan in Dev-Framework branch]
Change summary:
- Added FBlueprintEditorUtils::GetDeprecatedMemberUsageNodeWarning() to format a consistent compiler warning message
- Modified Variable, CallFunction and Delegate binding nodes to use the shared compiler warning message for deprecation.
- Fixed an issue that caused the deprecation compiler warning message to appear twice on overridden event nodes.
- Retained backwards-compatibility on Variable nodes for native references that only include 'DeprecationMessage' metadata (these were previously considered by the editor to be deprecated).
- Modified FunctionEntry and Event nodes to display a deprecation compiler warning only in the override case. The warning will not appear on the original definition. This includes custom event nodes as well.
- Updated the warning message in UK2Node_CreateDelegate::IsValid() for the !UEdGraphSchema_K2::FunctionCanBeUsedInDelegate() case (which also fails if the function has been marked as deprecated).
#jira UE-72927, UE-74384
#rb Dan.OConnor
[CL 6543083 by Phillip Kavan in Dev-Framework branch]