Find-in-Blueprints now uses the same search data for both Find-in-all-Blueprints and Find-in-Blueprint. That searchdata is no longer stored in the asset registry, it is stored in the DDC and is managed by a new class. Searching is multithreaded to reduce overhead on the main thread during long searches in large projects.
virtual UEdGraphNode::AddSearchMetaDataInfo which sets base find-in-blueprints metadata and can be overriden with more detailed search data.
#change UEdGraphPin::GetDefaultAsString will return the text value as string if set
Added FBlueprintEditorUtils::GetEntryAndResultNode, moving most of the functionality from FBlueprintGraphActionDetails::SetEntryAndResultNodes to the new function
Added FBlueprintEditorUtils::GetGraphDescription to get graph descriptions from their metadata
Added FBlueprintEditorUtils::GetNodeByGUID to find nodes using their Guid
Blueprints now cache their search metadata on compile, this is a CPU intensive process and can no longer occur every time the Asset Registry queries for the Blueprint's tags
#change Fixed an issue with finding a pin type's icon (UK2Node_Variable::GetVarIconFromPinType) where we would search for a class we already had available.
Added an overridable function to UEdGraphNode to collect Blueprint search metadata.
#change FJsonObjectConverter::UPropertyToJsonValue is now available outside of the .cpp
#change Rewrote how Find-in-Blueprints works both for local and global searches, now uses Json to resolve a variety of format issues and also to make it much more extensible.
#ttp 290376 - K2: Ability to search (find in blueprints) important pin values
#ttp 298599 - ROCKET: TASK: K2: Search results should indicate where the instance is located in the results page (construction script, event graph, custom graph)
#ttp 304819 - Blueprints: Editor: L10N: "Find in Blueprint" needs to work with other languages
#ttp 308572 - UE4: ANIM: K2: Searching doesn't work for anim nodes right now
#ttp 316678 - UE4: BLUEPRINTS: SHADOW: Default values are not searchable
#ttp 318180 - UE4: K2: Cannot search for spawnactor using find in blueprints
#ttp 320141 - UE4: K2: Find in blueprints does not find functions declared in another blueprint (if the function isn't called in that BP)
[CL 2110494 by Michael Schoell in Main branch]
#ttp 334601 - Crash: Live: Setting and Unsetting Use Localized Field Name
#branch UE4
#change Model wasn't disassociating itself with the OnSettingsChanged delegate when it was destroyed... which meant next time the settings were changed the delegate was being called with a stale pointer.
reviewed by Thomas.Sarkanen
[CL 2089501 by Andrew Brown in Main branch]
TTP# 333731 - EDITOR: The editor region doesn't always seem to get set correctly on non-English systems
If you'd previously not set a language in the editor, the "Region & Language" settings would always show you the option for "en_US_POSIX" (and claim that you needed to restart the editor) because the saved culture name ("") didn't match the FInternationalization culture name (eg, "en_GB"), causing it to call GetCulture with an empty string (which seems to cause ICU to return "en_US_POSIX"). It now just uses the current FInternationalization culture name if the saved culture is empty.
Additionally, the editor/game now verifies that it has an available translation for the culture that FInternationalization is using (the one set during startup). If it doesn't (eg, your PC is using "fr_BR") then it will fallback to using generic English ("en") to ensure that the editor/game always has a valid translation to use.
ReviewedBy Saul.Abreu
[CL 2068467 by Jamie Dale in Main branch]