Commit Graph

352 Commits

Author SHA1 Message Date
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
louisphilippe seguin
c4a2fa4c7d GameplayAbilities
* Prevent null subobjects from getting registered for replication

#rb Brian.Bekich

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 20365115 via CL 20365122 via CL 20365138
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20367769 by louisphilippe seguin in ue5-main branch]
2022-05-25 13:28:37 -04:00
robert manuszewski
f8a812a32f Converting hardcoded short class/enum names to pathnames ahead of ANY_PACKAGE removal
#rb trivial
#jira UE-99463
#preflight 6288fd998828ea88c8aef3d0

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20314896 via CL 20314897 via CL 20314903 via CL 20314904
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20315214 by robert manuszewski in ue5-main branch]
2022-05-22 10:30:02 -04:00
max chen
78a0d65d90 Sequencer/Valkyrie: Disable media track, livelink track, gameplay cue track, template sequence track.
Disable event track and live link filters

Fix SupportsSequence logic so that track editors can't just blindly support a track if it's a level sequence. If it doesn't pass the permissions, the track is not supported

#preflight 62857944f239239af6b9c6be
#rb andrew.rodham

#ROBOMERGE-OWNER: max.chen
#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 20283972 via CL 20284129 via CL 20284318 via CL 20284323
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20304670 by max chen in ue5-main branch]
2022-05-20 18:44:58 -04:00
todd eckert
8995ebe2ed Added a method to allow ability system components to perform a predictive effect execution. Requires an instant or periodic effect and a valid prediction key. Has an option to execute the gameplay cues or not.
#rnx

#ROBOMERGE-AUTHOR: todd.eckert
#ROBOMERGE-SOURCE: CL 20184601 via CL 20186260 via CL 20186413 via CL 20187989 via CL 20188119
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20189983 by todd eckert in ue5-main branch]
2022-05-13 17:46:57 -04:00
Matt Peters
237b8bd0cf Static Analysis Compile fix: Remove unnecessary test for TargetActor != null, since it is already tested in an outer if condition in the current scope on line 417. The presence of the unnecessary test confuses static analysis which then compilains about a missing test in the usage on 469.
#rb None, trivial
#rnx
#preflight 627960e0672a5a06fcf21ea8

[CL 20108175 by Matt Peters in ue5-main branch]
2022-05-09 15:01:26 -04:00
andrew thayer
c6d6e6aaf6 Added support for Gameplay Effects to add blocked ability tags.
[REVIEW] [at]miles.kaech, [at]matt.stone, [at]max.golden, [at]aaron.eady, [at]todd.eckert, [at]fred.kimberley

#ROBOMERGE-AUTHOR: andrew.thayer
#ROBOMERGE-SOURCE: CL 20076157 via CL 20076508 via CL 20076822
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20106193 by andrew thayer in ue5-main branch]
2022-05-09 13:47:26 -04:00
Lauren Barnes
6248f8d412 Replacing legacy EditorStyle calls with AppStyle
#preflight 6272a74d2f6d177be3c6fdda
#rb Matt.Kuhlenschmidt

#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20057269 via CL 20070159 via CL 20072035 via CL 20072203
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
#ROBOMERGE-CONFLICT from-shelf

[CL 20105363 by Lauren Barnes in ue5-main branch]
2022-05-09 13:12:28 -04:00
Matt Peters
d64cf41728 AssetRegistry includes (Engine Plugins): change #include "AssetData.h" -> #include "AssetRegistry/AssetData.h", and similar for the other moved AssetRegistry headers.
#rb Zousar.Shaker
#rnx
#preflight 6270563191629533ec2b6f6e

[CL 20017756 by Matt Peters in ue5-main branch]
2022-05-02 18:59:38 -04:00
justin hare
60efd32484 Adding BP library function to get a debug string representation of a gameplay attribute. Partial adaptation from PR #7444
#jira UE-101847
#fyi fred.kimberley
#preflight 626c4b995c220f34ac10b0fc

[CL 19985382 by justin hare in ue5-main branch]
2022-04-29 16:42:39 -04:00
andrew thayer
af414bd57c Fixed an issue when a gameplay ability listening to activate based on a tag would fail to be activated. This would happen if there were more than one GA listening to this tag, and the first one in the list was invalid or didn't have authority to activate.
[REVIEW] [at]miles.kaech, [at]todd.eckert, [at]matt.stone, [at]fred.kimberley

#ROBOMERGE-AUTHOR: andrew.thayer
#ROBOMERGE-SOURCE: CL 19869736 via CL 19870605 via CL 19874577 via CL 19875009
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)

[CL 19878067 by andrew thayer in ue5-main branch]
2022-04-22 19:56:08 -04:00
angela wu
2868cfee56 Check that the secondary ability is activatable before setting animation section as if the secondary ability will be activated. This cl does not fully solve FORT-420261 since it only checks the explicit secondary ability's costs and not the cost of any GAs the secondary calls.
#fortnite
#fn-stw
#tests Loaded mission_gate with an outlander and used up all stamina. Then held down LMB to swing pickaxe in a combo and verified that rightclicking does not reset the animation while stamina is very low. Animation still breaks eventually due to the activated ability calling more abilities that also have a cost
#rb Daniel.Broder
[REVIEW] [at]Daniel.Broder, [at]Stephan.Delmer, [at]Brandon.Johnson, [at]Dylan.Fansler, [at]Joe.Zabriskie, [at]Kelby.Gamble
[FYI] Jason.Attard, Hans.Oelerking, Tim.Tsai, Feezah.Ishmaelmanis

#ROBOMERGE-AUTHOR: angela.wu
#ROBOMERGE-SOURCE: CL 19744636 via CL 19746821 via CL 19747241 via CL 19749650 via CL 19749827
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)

[CL 19801826 by angela wu in ue5-main branch]
2022-04-18 23:25:09 -04:00
sarah noonan
7c754776fa Add a new version of GetGameplayEffectCount to AbilitySystemComponent that takes a soft reference - to avoid creating unnecessary hard references between assets.
[REVIEW] [at]ben.zeigler
[FYI] [at]fred.kimberley

#ROBOMERGE-AUTHOR: sarah.noonan
#ROBOMERGE-SOURCE: CL 19666624 via CL 19669286 via CL 19669341 via CL 19669396
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19673178 by sarah noonan in ue5-main branch]
2022-04-07 13:37:03 -04:00
christopher waters
99ec480304 Cleaning up dependencies with select heavy-hitter headers in MovieScene and addressing the fallout from that.
MovieScene was targeted as its headers were at the top of profiling ShooterGame builds.
Tested with -disableunity and -nopch. Current timings take ShooterGameEditor rebuild from 480s to 440s

#jira none
#rb josh.adams
#preflight 624c97a63661c8f04a191889

[CL 19634779 by christopher waters in ue5-main branch]
2022-04-05 18:58:45 -04:00
Marc Audy
a74cd5e383 Fix non-unity errors
#jira UE-147863, UE-147883, UE-147723, UE-147717, UE-147709, UE-147707, UE-147761
#rnx
#preflight

[CL 19596080 by Marc Audy in ue5-main branch]
2022-04-01 17:29:55 -04:00
mic rooney
499e512ac6 Fixing SA warning in AbilityTask_PlayMontageAndWait
[REVIEW] [at]Josh.Andersen, [at]Vivien.Wei, [at]Brian.Zaugg, [at]Aaron.Eady

#ROBOMERGE-AUTHOR: mic.rooney
#ROBOMERGE-SOURCE: CL 19377866 via CL 19378998 via CL 19393406 via CL 19393526
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19402341 by mic rooney in ue5-main branch]
2022-03-16 03:05:47 -04:00
Robert Manuszewski
b2080aeb8d Fix for ensures when adding duplicate OnEndPlayDelegates
#rb trivial
#jira UE-145260
#preflight none

[CL 19373179 by Robert Manuszewski in ue5-main branch]
2022-03-14 11:23:23 -04:00
daniel broder
ea0a7c73cf Additional logging to track down sources of too many ability tasks: can now turn on extra logging that will log the source abilities that are creating each ability task to make it easier to figure out where any excess tasks are coming from.
NOTE: To turn on the additional logging, make sure that AbilitySystem.AbilityTask.Debug.RecordingEnabled is true, and then also set AbilitySystem.AbilityTask.Debug.SourceRecordingEnabled to true.

[FYI] Michael.Noland

#RB Bill.Colby



#UE5 #RNX #NoReleaseNotes

#ROBOMERGE-AUTHOR: daniel.broder
#ROBOMERGE-SOURCE: CL 19366433 via CL 19366442 via CL 19367339 via CL 19368585 via CL 19368636
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19369020 by daniel broder in ue5-main branch]
2022-03-12 20:51:56 -04:00
louisphilippe seguin
b8f876bb40 ASC
* Fix references to deprecated function GetSpawnedAttributes_Mutable after merge
* Fix replication of  OwnerActor and AvatarActor when they get nulled after being destroyed.

#rb Robert.Manuszewski
#rnx

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 19338524 via CL 19339686 via CL 19339692
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19348784 by louisphilippe seguin in ue5-main branch]
2022-03-10 22:29:23 -05:00
louisphilippe seguin
549c9ff7ab Fix deprecation warnings in merged code
#rb trivial
#rnx

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 19314011 via CL 19316130 via CL 19316185
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19347742 by louisphilippe seguin in ue5-main branch]
2022-03-10 21:37:59 -05:00
louisphilippe seguin
8dcd9b7535 SubObject API
* GameplayTasksComponent and AbilitySystemComponent now support the registered subobject API
* By default the components keep replicating their subobjects via the old way (the ReplicateSubObjects function).
* Deleted some UE_DEPRECATED(4.XX) tags and moved or deleted the code they touched.
* Moved some replicated members to private access. Derived classes should use the Get/Set functions instead.

#jira UE-132889
#rb Mattias.Hornlund, John.Barrett

#ROBOMERGE-OWNER: louisphilippe.seguin
#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 19307153 via CL 19307179 via CL 19311960 via CL 19315392 via CL 19315492
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19347720 by louisphilippe seguin in ue5-main branch]
2022-03-10 21:36:40 -05:00
michael noland
076a61bd3d Gameplay Cues: Change FPreallocationInfo::PreallocatedInstances to be a reflected variable instead of relying only on EndPlay to clean it up, fixing potential issues if cue BPs are reinstanced during PIE
#jira UE-143340
#tests Edited various GCNLs in Lyra during PIE and recompiled / resaved the BPs a couple of times to force reinstancing
#rb ben.zeigler
#lockdown julien.marchand
#preflight 622158a4c7262e0e538a3ba2

#ROBOMERGE-AUTHOR: michael.noland
#ROBOMERGE-SOURCE: CL 19258880 in //UE5/Release-5.0/... via CL 19259229
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19263831 by michael noland in ue5-main branch]
2022-03-04 04:10:54 -05:00
andrew thayer
2b7a5cf326 Fixed an issue where the apply root motion ability task could restore a movement mode without also restoring the custom movement mode. This would result the player getting into MOVE_Custom where custom mode is 0, which forces the player to float in here.
[REVIEW] [at]bill.colby, [at]miles.kaech, [at]aaron.eady, [at]todd.eckert, [at]david.paquette, [at]matt.stone
[FYI] mike.jones

#ROBOMERGE-AUTHOR: andrew.thayer
#ROBOMERGE-SOURCE: CL 19151255 via CL 19151259 via CL 19151264 via CL 19151277 via CL 19160436
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19161678 by andrew thayer in ue5-main branch]
2022-02-25 19:55:42 -05:00
noah presser
ee8b8a419d Change default directory specification for "Add New" button when creating gameplay cues
[REVIEW] [at]todd.eckert

#ROBOMERGE-AUTHOR: noah.presser
#ROBOMERGE-SOURCE: CL 19100226 via CL 19102900 via CL 19105900 via CL 19106030 via CL 19110124
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19148450 by noah presser in ue5-main branch]
2022-02-25 11:01:05 -05:00
marc audy
cff01aa9fa Added support for native FProperty setters and getters.
Setters and getters are native functions called by FProperties when setting property values with *_InContainer functions.
Setters and getter function names can be manually specified with Setter = Func and Getter = Func keywords inside of UPROEPRTY macro but they will also be automatically parsed if the name is not explicitly specified if the setter or getter function name matches SetPropertyName and GetPropertyName pattern.
The latter behavior can be disabled in UHT's DefaultEngine.ini by setting AutomaticSettersAndGetters=False.
ImportText and ExportTextItem functions have been deprecated and should be replaced with *_InContainer or *_Direct variants.

#rb Steve.Robb
#preflight 6210a377a83e0bcefd03d9e1

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 19070318 via CL 19098059 via CL 19104650 via CL 19104661 via CL 19110012
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19147839 by marc audy in ue5-main branch]
2022-02-25 10:39:39 -05:00