- Add Metasound editor setting for default input widget type
- Change member default type from bool to float
- Make widgets only available for inputs (no longer for variables)
- Automatically select/focus newly added/promoted nodes
- Selecting a single node selects the corresponding member in the graph member list if applicable
#jira UE-156767
#jira UE-156772
#rb rob.gay
#preflight 62aa1a77da0af39a474e8975
[CL 20688866 by helen yang in ue5-main branch]
This change consists of multiple changes:
Core:
- Deprecation of ANY_PACKAGE macro. Added ANY_PACKAGE_DEPRECATED macro which can still be used for backwards compatibility purposes (only used in CoreUObject)
- Deprecation of StaticFindObjectFast* functions that take bAnyPackage parameter
- Added UStruct::GetStructPathName function that returns FTopLevelAssetPath representing the path name (package + object FName, super quick compared to UObject::GetPathName) + wrapper UClass::GetClassPathName to make it look better when used with UClasses
- Added (Static)FindFirstObject* functions that find a first object given its Name (no Outer). These functions are used in places I consider valid to do global UObject (UClass) lookups like parsing command line parameters / checking for unique object names
- Added static UClass::TryFindType function which serves a similar purpose as FindFirstObject however it's going to throw a warning (with a callstack / maybe ensure in the future?) if short class name is provided. This function is used in places that used to use short class names but now should have been converted to use path names to catch any potential regressions and or edge cases I missed.
- Added static UClass::TryConvertShortNameToPathName utility function
- Added static UClass::TryFixShortClassNameExportPath utility function
- Object text export paths will now also include class path (Texture2D'/Game/Textures/Grass.Grass' -> /Script/Engine.Texture2D'/Game/Textures/Grass.Grass')
- All places that manually generated object export paths for objects will now use FObjectPropertyBase::GetExportPath
- Added a new startup test that checks for short type names in UClass/FProperty MetaData values
AssetRegistry:
- Deprecated any member variables (FAssetData / FARFilter) or functions that use FNames to represent class names and replaced them with FTopLevelAssetPath
- Added new member variables and new function overloads that use FTopLevelAssetPath to represent class names
- This also applies to a few other modules' APIs to match AssetRegistry changes
Everything else:
- Updated code that used ANY_PACKAGE (depending on the use case) to use FindObject(nullptr, PathToObject), UClass::TryFindType (used when path name is expected, warns if it's a short name) or FindFirstObject (usually for finding types based on user input but there's been a few legitimate use cases not related to user input)
- Updated code that used AssetRegistry API to use FTopLevelAssetPaths and USomeClass::StaticClass()->GetClassPathName() instead of GetFName()
- Updated meta data and hardcoded FindObject(ANY_PACKAGE, "EEnumNameOrClassName") calls to use path names
#jira UE-99463
#rb many.people
[FYI] Marcus.Wassmer
#preflight 629248ec2256738f75de9b32
#codereviewnumbers 20320742, 20320791, 20320799, 20320756, 20320809, 20320830, 20320840, 20320846, 20320851, 20320863, 20320780, 20320765, 20320876, 20320786
#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20430220 via CL 20433854 via CL 20435474 via CL 20435484
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)
[CL 20448496 by robert manuszewski in ue5-main branch]
- Split out search engine into Core functionality and EditorOnly functionality
- Removed some ISearchEngine integration in the INodeController
- Fixed up callsites that were relying on EditorOnly ISearchEngine functionality on non-editor builds.
#jira UE-147632
#rb Aaron.McLeran
#preflight 626709dc0231ca6c0d8d892e
[CL 19908865 by phil popp in ue5-main branch]
- Fix color for Time:Array type
#jira UE-148269
#jira UE-148862
#rb rob.gay
#preflight 62631545006fa20b683e7a91
[CL 19905171 by helen yang in ue5-main branch]
- Clean-up some MetaSoundMember edgraphnode members
- Minor fix for hover when drag/dropping members not onto graph showing no error state
#rb helen.yang
#rnx
#jira UE-144433
#jira UE-144358
#preflight 62203018f134125ae0bc7078
#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 19253632 in //UE5/Release-5.0/... via CL 19257927
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)
[CL 19263531 by rob gay in ue5-main branch]
- Fix for interfaces not updating/some manipulators being incorrectly editable on MetaSound Presets
- Clarify Set vs Synchronize location on MSEdGraphNodes
- Split up RefreshDetails to RefreshDetails/Interfaces & move RefreshInterface to RefreshGraphMemberMenu
#rb helen.yang
#rnx
#jira UE-144184, UE-144358
#preflight 621ff6b9901d830f366e5369
#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 19235508 in //UE5/Release-5.0/... via CL 19236719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19237376 by rob gay in ue5-main branch]
- Remove base template for node customizations now that it isn't required to be a template to enable intra-engine versioning (allows moving implementation of category customization to .cpp)
- Move redundant "Literal" property to parent UMetasoundEditorGraphMember
#rb helen.yang
#jira UE-121749
#rnx
#preflight 621d2e869a5676d19a3d50e9
#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 19181623 in //UE5/Release-5.0/... via CL 19183646
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19206681 by rob gay in ue5-main branch]
- Add right click menu and actions for graph members
- Move add/remove interfaces menu to a new details tab
#jira UE-143470
#jira UE-143471
#rb rob.gay
#preflight 6218507a8849a7424f6d4ff9
#ROBOMERGE-AUTHOR: helen.yang
#ROBOMERGE-SOURCE: CL 19177650 in //UE5/Release-5.0/... via CL 19180025
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19203596 by helen yang in ue5-main branch]
- Fix another spot for when member is removed from the editor views on next tick, don't show garbage member in details panel
- Variable node body fix-ups
#rb helen.yang
#rnx
#jira UE-143288
#preflight 62102b6a406b34de07e846ae
#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 19082391 in //UE5/Release-5.0/... via CL 19097086
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19140792 by rob gay in ue5-main branch]
- Fix updating default value for a graph input not compositionally propagating to references
- Fix 'Reset to Class Default' sometimes showing when it isn't applicable (ex. on triggers or when the class default is out-of-date)
#rb phil.popp
#rnx
#jira UE-135832, UE-138819
#preflight 6204113ad619b08d92f542f4
#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18922577 in //UE5/Release-5.0/... via CL 18927066 via CL 18928800
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v916-18915374)
[CL 18929238 by rob gay in ue5-main branch]