Commit Graph

65 Commits

Author SHA1 Message Date
Helge Mathee
0edf08d7f8 RigVM: Invoke Entry functionality for the model
#rb benoit.gadreau
#jira UE-153498
#preflight https://horde.devtools.epicgames.com/job/629733a2ed7762ca42de8245

[CL 20450402 by Helge Mathee in ue5-main branch]
2022-06-01 05:56:08 -04:00
robert manuszewski
d1443992e1 Deprecating ANY_PACKAGE.
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]
2022-06-01 03:46:59 -04:00
sara schvartzman
ed571628f5 Control Rig: Filtered permutations for template nodes
#jira na
#rb helge.mathee
#preflight https://horde.devtools.epicgames.com/job/62769cbe75268b4ace10dc69

[CL 20101111 by sara schvartzman in ue5-main branch]
2022-05-09 07:34:28 -04:00
Helge Mathee
54343abc1f Control Rig: Improve collapse functionality for execute pins
#rb benoit.gadreau
#jira na
#preflight https://horde.devtools.epicgames.com/job/6278cc1beb7a0783c49990bf

[CL 20100696 by Helge Mathee in ue5-main branch]
2022-05-09 05:37:24 -04:00
jeremie passerin
752afa1068 Control Rig: Fixed Use Selected Item not working with space in object name
#jira UE-147790
#rb helge.mathee
#rb sara.schvartzman
#preflight https://horde.devtools.epicgames.com/job/627427f2476960097c8464e9

[CL 20064916 by jeremie passerin in ue5-main branch]
2022-05-05 17:29:36 -04:00
Helge Mathee
043e850f31 Control Rig: Enabling aggregate nodes + implementing sequence as aggregate
#rb sara.schvartzman
#jira na
#preflight https://horde.devtools.epicgames.com/job/6273e2f65c29fb7661e9bd23

[CL 20058905 by Helge Mathee in ue5-main branch]
2022-05-05 11:55:01 -04:00
Helge Mathee
fcb5444cf0 RigVM: Allow template arguments to support both array and single values if needed
#rb sara.schvartzman
#jira na
#preflight https://horde.devtools.epicgames.com/job/625ff6da35680893eef3bdf1

[CL 19830136 by Helge Mathee in ue5-main branch]
2022-04-20 10:28:28 -04:00
Helge Mathee
324bb1ec00 RigVM: Reroute to inherit template node
#rb sara.schvartzman
#jira na
#preflight https://horde.devtools.epicgames.com/job/625fc59035680893eee448a1

[CL 19826939 by Helge Mathee in ue5-main branch]
2022-04-20 05:02:39 -04:00
Thomas Sarkanen
98c834dfd7 Control rig and RigVM changes to allow for data interface prototype to be further developed
This removes some of the dependencies on UControlRigBlueprint and replaces them with 'host' interfaces for URigVMController and URigVMGraph.
Also adds support for TScriptInterfaces in RigVM. This includes a modification of the RigVM parts of UHT.
Some of these changes are due to be reworked later to allow RigVM-hosting systems to not have to be also implemented in terms of control rig.

#rb Helge.Mathee,Sara.Schvartzman
#fyi Helge.Mathee,Sara.Schvartzman
#preflight 624d857aa64871f1a11ef3f9

[CL 19645705 by Thomas Sarkanen in ue5-main branch]
2022-04-06 08:26:45 -04:00
Helge Mathee
87702d5a3a Control Rig: Fix crashes during upgrade / unresolve
#rb sara.schvartzman
#jira UE-147165 UE-147543
#preflight https://horde.devtools.epicgames.com/job/6246b0af3a5a4c1622de9384

[CL 19585555 by Helge Mathee in ue5-main branch]
2022-04-01 04:37:48 -04:00
sara schvartzman
135be0d333 Control Rig: Fix connecting to Mirror template node hangs editor
#jira UE-146962
#rb helge.mathee
#preflight https://horde.devtools.epicgames.com/job/623cb0bef765c25e98e573db

[CL 19508615 by sara schvartzman in ue5-main branch]
2022-03-25 06:03:05 -04:00
Helge Mathee
0c93dad11e RigVM: Follow links on non-existing subpins
In the case of arrays we can have links on elements that don't exist on the source pin - but may exist on intermediate reroutes or function boundaries (entry or return nodes).

#b sara.schvartzman
#jira UE-144672
#preflight https://horde.devtools.epicgames.com/job/623878e3be1e4104d3451788

[CL 19451141 by Helge Mathee in ue5-main branch]
2022-03-21 09:28:47 -04:00
Helge Mathee
02469cf3be RigVM: Allow multiple connections to the same source variable node
#rb sara.schvartzman
#jira UE-145954 UE-143829
#preflight https://horde.devtools.epicgames.com/job/62334e136666d7e7539bc48d

[CL 19422117 by Helge Mathee in ue5-main branch]
2022-03-17 12:17:43 -04:00
Helge Mathee
63e119a364 Control Rig: Further template node workflows
Implemented unresolve as well as re-resolve node on already typed pins
Added UI in contextual menu to re-type pins

#rb sara.schvartzman
#jira UE-125892
#preflight https://horde.devtools.epicgames.com/job/622f488f505788e09ffffbe4

[CL 19372564 by Helge Mathee in ue5-main branch]
2022-03-14 10:19:31 -04:00
Helge Mathee
4cc75cf9a5 RigVM: Node upgrade functionality
As part of debugging the last unit test I've added functionality to support debugging of the ActionStack. The controller is now able to upgrade a node as per user interaction. next up I'll integrate this into the user interface.

#rb sara.schvartzman
#jira UE-141505
#preflight https://horde.devtools.epicgames.com/job/6226280ca71867308f24c641

[CL 19286305 by Helge Mathee in ue5-main branch]
2022-03-07 12:07:36 -05:00
sara schvartzman
d904b9cfe5 Control Rig: Remove parameters
#jira UE-143591
#rb helge.mathee
#preflight https://horde.devtools.epicgames.com/job/6225ed1d8e6b4641d86295c4

[CL 19284981 by sara schvartzman in ue5-main branch]
2022-03-07 10:20:24 -05:00
Helge Mathee
627cb75494 Control Rig: Template Node Support.
The UE_RIGVM_ENABLE_TEMPLATE_NODES is disabled in this submit for now - which disabled the creation of template nodes as well, disabled auto-update functionality during load and spawning resolved templates nodes instead of unit nodes.

We'll enable the define in a follow up submit

#rb jack.cai
#jira na
#preflight https://horde.devtools.epicgames.com/job/621de289ca28c55634199235

[CL 19196111 by Helge Mathee in ue5-main branch]
2022-03-01 04:23:55 -05:00
Helge Mathee
25659c95a1 RigVM: Remove use of UE_RIGVM_UCLASS_BASED_STORAGE_DISABLED define
#rb sara.schvartzman
#jira na
#preflight https://horde.devtools.epicgames.com/job/6206623a963efc0c28d83c37

[CL 18951321 by Helge Mathee in ue5-main branch]
2022-02-11 08:48:47 -05:00
jack cai
d4d396686d Control Rig: Added initial support for user defined structs in control rig
#rb helge.mathee sara.schvartzman halfdan.ingvarsson
#preflight https://horde.devtools.epicgames.com/job/61e0550e797757aace812c59

#ROBOMERGE-OWNER: jack.cai
#ROBOMERGE-AUTHOR: jack.cai
#ROBOMERGE-SOURCE: CL 18604135 via CL 18607078 via CL 18607310 via CL 18614166 via CL 18614228 via CL 18614244
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18614276 by jack cai in ue5-main branch]
2022-01-13 22:49:09 -05:00
sara schvartzman
bbd06dbd2a Control Rig: fix binding types differ from linking types
#jira UE-137048
#rb helge.mathee
#preflight 61d6e62e411c1403a3d85756

#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 18530241 in //UE5/Release-5.0/... via CL 18530243
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18530246 by sara schvartzman in ue5-release-engine-test branch]
2022-01-06 08:04:09 -05:00
sara schvartzman
21957c2acd Control Rig: Copy python script not setting the control transforms correctly
#jira UE-135784
#rb helge.mathee
#preflight 61a50c900f18b1544169d57f

#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 18322835 in //UE5/Release-5.0/... via CL 18322839
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18322843 by sara schvartzman in ue5-release-engine-test branch]
2021-11-30 05:16:12 -05:00
sara schvartzman
f0a942f45e Control Rig: Refactor variable binding
#jira na
#rb helge.mathee
#preflight 61a4c443be6d0d4512c093f6

#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 18310323 in //UE5/Release-5.0/... via CL 18310628
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18310747 by sara schvartzman in ue5-release-engine-test branch]
2021-11-29 11:26:01 -05:00
sara schvartzman
cad51a8a73 Control Rig: Fix python script when array nodes are present
#jira UE-135084
#rb jack.cai
#preflight 619d21f3f70a9e92db3ef361

#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 18281528 in //UE5/Release-5.0/... via CL 18281551
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18281577 by sara schvartzman in ue5-release-engine-test branch]
2021-11-24 05:34:30 -05:00
sara schvartzman
ce31e514f3 Control Rig: Fix error on python script when adding link to array node iterator with generic type pin
#jira UE-135084
#rb helge.mathee
#preflight 61964778186e9fbb9390eee2

#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 18236793 in //UE5/Release-5.0/... via CL 18236797
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18236804 by sara schvartzman in ue5-release-engine-test branch]
2021-11-18 08:00:07 -05:00
sara schvartzman
b7541bdd7d Control Rig: Fix binding to local variables and input arguments
#jira UE-134013
#rb helge.mathee
#preflight 618aa1230779df5c6a78c462

#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 18185177 in //UE5/Release-5.0/... via CL 18185246
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18185267 by sara schvartzman in ue5-release-engine-test branch]
2021-11-15 05:32:56 -05:00