Commit Graph

200 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
Max Chen
0167d4ea0f Sequencer: MVVM2 branch and Layer Bars
Copying //Tasks/UE5/Dev-SequencerMVVM2 to Main (//UE5/Main) @20364093

#preflight 628866dfb94f739b152c1e29
#preflight 628866e4585e8f793ee80943
#rb ludovic.chabant, andrew.rodham
#fyi ludovic.chabant, andrew.rodham, andrew.porter
#jira UE-105322

[CL 20364493 by Max Chen in ue5-main branch]
2022-05-25 10:39:33 -04:00
Jurre deBaare
61fabda7e2 Long save times in Take Recorder with timecode
#jira UE-138828
#fix added missing variable name to AnimRecorder controller scoped bracket (meant that it wasn't acting as RAII)
#misc switched AttributeCurve::RemoveRedundant keys to just generate new keys array rather than removing individual keys
#rb Max.Chen
#preflight 627b8dc69f7ad2a14b473522

[CL 20136149 by Jurre deBaare in ue5-main branch]
2022-05-11 07:05:10 -04:00
lauren barnes
5f7006fb53 Fixing EditorStyle->AppStyle merge errors
#rb trivial

#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20073150 via CL 20073151
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20105751 by lauren barnes in ue5-main branch]
2022-05-09 13:31:58 -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
7ad238a806 AssetRegistry includes (Engine/Source): change #include "AssetData.h" -> #include "AssetRegistry/AssetData.h", and similar for the other moved AssetRegistry headers.
#rb Zousar.Shaker
#rnx
#preflight 6270509a220f89f0ad573030

[CL 20016982 by Matt Peters in ue5-main branch]
2022-05-02 18:06:48 -04:00
mike zyracki
fc028fa81e Animation Recorder: Remove bone tracks if recording with transforms turned off.
#jira UE-147429
#rb thomas.sarkanen
#preflight 625ee17b9c09ef439d9922df

#ROBOMERGE-AUTHOR: mike.zyracki
#ROBOMERGE-SOURCE: CL 19811407 in //UE5/Release-5.0/... via CL 19816571
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)

[CL 19819531 by mike zyracki in ue5-main branch]
2022-04-19 18:10:20 -04:00
Max Chen
7eb68b83c0 Take Recorder: Added the ability to filter out bones/curves that are being recorded.
AnimationRecorder now has IncludeAnimationNames and ExcludeAnimationNames lists. Bones and curves are tested against this list to determine whether they should be recorded.

#jira UE-107875
#preflight 6259f730016074c111fa4165
#rb mike.zyracki

[CL 19795076 by Max Chen in ue5-main branch]
2022-04-18 17:18:05 -04:00
Max Chen
afe245afa9 Take Recorder: Fix include
#jira UE-146664
#rb none
#preflight none

[CL 19452306 by Max Chen in ue5-main branch]
2022-03-21 11:13:52 -04:00
Max Chen
ae528c26a8 Take Recorder: Fix initialization
#jira UE-141229
#preflight 62337d56b43f22036e027547
#rb matt.hoffman, mike.zyracki

[CL 19424535 by Max Chen in ue5-main branch]
2022-03-17 14:51:12 -04:00
Max Chen
90bb9c7dff Take Recorder: TimecodeBoneMode customization to make it easy to pick a socket to save timecode onto.
#jira UE-141229
#preflight 623264a16c05dd6bbc71964c
#rb matt.hoffman, mike.zyracki

[CL 19423250 by Max Chen in ue5-main branch]
2022-03-17 13:26:22 -04:00
Max Chen
9a912953f3 Take Recorder: Add option to specify the bone to record timecodes onto
FTimecodeBoneMethod specifies the mode (ie. All, Root, UserDefined) and the bone name to assign to.
If the bone name doesn't exist, it will fall back to the root.

#jira UE-141229
#preflight 623264a16c05dd6bbc71964c
#rb matt.hoffman, mike.zyracki

[CL 19423235 by Max Chen in ue5-main branch]
2022-03-17 13:25:52 -04:00
jurre debaare
914e5befd4 Bake Animation Sequence when baking some curves
#fix ensure that WriteIndex is used to populate curve-key data, which prevents frame-gaps from causing invalid keys
#jira UE-141329
#preflight 6203a140c61699ca27538ef3
#rb Mike.Zyracki

#ROBOMERGE-AUTHOR: jurre.debaare
#ROBOMERGE-SOURCE: CL 18917193 in //UE5/Release-5.0/... via CL 18926616 via CL 18927552
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v916-18915374)

[CL 18927604 by jurre debaare in ue5-main branch]
2022-02-09 18:38:07 -05:00
mike zyracki
8b38cc199c Sequencer: Take Recorder: Set Retarget Source Asset when take/animation recording if no retarget source from mesh is specified.
#jira UE-140883
#preflight 61fb0d63c431b6aac0476d4d
#rb thomas.sarkanen, kiaran.ritchie
#lockdown cristina.riveron

#ROBOMERGE-AUTHOR: mike.zyracki
#ROBOMERGE-SOURCE: CL 18845593 in //UE5/Release-5.0/... via CL 18845636 via CL 18846124
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18846165 by mike zyracki in ue5-main branch]
2022-02-03 13:41:35 -05:00
fred kimberley
7fbfaf57c8 Require explicit constructors/casts when converting between FVector, FVector3d, and FVector3f.
#jira UE-122078
#rb Andrew.Davidson, Colin.McGinley
#preflight standard build

#ROBOMERGE-AUTHOR: fred.kimberley
#ROBOMERGE-SOURCE: CL 18817999 in //UE5/Release-5.0/... via CL 18818012 via CL 18822871
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18824721 by fred kimberley in ue5-main branch]
2022-02-02 07:59:31 -05:00
andrew davidson
3debbbd465 Fix FVector2D variant casts
Submitted on behalf of fred.kimberley
#rb andy.davidson
#preflight 61f8719ea6632a34f35e654b

#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18801709 in //UE5/Release-5.0/... via CL 18802160 via CL 18821533
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18821619 by andrew davidson in ue5-main branch]
2022-02-02 01:45:23 -05:00
mike zyracki
31a373550f Sequencer: Control Rig Baking cherrypick from Cine branch, changed a check to an if statement whlen the spaces mismatch since this can happen with the mesh/level getting streamed out while still recording.
#jira na
#rb na
#trivial
#preflight 61f8247e68795b2f457ce679

#ROBOMERGE-OWNER: mike.zyracki
#ROBOMERGE-AUTHOR: mike.zyracki
#ROBOMERGE-SOURCE: CL 18798274 in //UE5/Release-5.0/... via CL 18799894 via CL 18800288
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18801237 by mike zyracki in ue5-main branch]
2022-01-31 18:37:19 -05:00
mike zyracki
9d0e553ca8 Sequencer: Control Rig: Bakding crash due to a level getting unloaded while backing need to just exit if the number of spaces changes on the skeleton.
#rb na
#trivial

#ROBOMERGE-AUTHOR: mike.zyracki
#ROBOMERGE-SOURCE: CL 18766519 via CL 18766551 via CL 18766723 via CL 18766740 via CL 18767426 via CL 18767596
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18767609 by mike zyracki in ue5-main branch]
2022-01-27 21:11:02 -05:00
matt johnson
59afa7ea7d MovieScene: remove TimecodeSource property stored directly on UMovieScene
These changes remove the last remnants of the TimecodeSource property that
was being stored directly on UMovieScene. UMovieScene is a container that may
represent multiple pieces of media as UMovieSceneSections, each of which may
have their own distinct TimecodeSource. The sections themselves manage setting
their own TimecodeSource when they are recorded or created from a piece of media.

Client code that is interested in the earliest TimecodeSource of any section in a movie
scene should use UMovieScene::GetEarliestTimecodeSource().

#rb max.chen
#preflight 61e9bd06ab6e1cc028b89f96

#ROBOMERGE-AUTHOR: matt.johnson
#ROBOMERGE-SOURCE: CL 18681887 in //UE5/Release-5.0/... via CL 18681942 via CL 18682001
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v902-18672795)

[CL 18682068 by matt johnson in ue5-main branch]
2022-01-20 16:51:11 -05:00
jurre debaare
546a71d655 Frame Rate value of recorded animation doesn't match the user's set value
#jira UE-135980
#fix replaced recording sample rate with FFrameRate to improve UX and integrate better with AnimDataModel
#rb Thomas.Sarkanen, Max.Chen, Lucas.Dower
#preflight 61e818fd843acf1b242cea62

#ROBOMERGE-AUTHOR: jurre.debaare
#ROBOMERGE-SOURCE: CL 18657740 in //UE5/Release-5.0/... via CL 18657764 via CL 18657777
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)

[CL 18657787 by jurre debaare in ue5-main branch]
2022-01-19 09:30:47 -05:00
anatole menichetti
21a735b94d Fix Bake Animation Sequence Curve/Transform Export
Enables toggling of exporting morph targets / attribute / material curves separately
Fixes issue when Transforms are not exported: zeroed keys were added instead of ref pose
#jira UE-137045
#preflight 18620216

#ROBOMERGE-AUTHOR: anatole.menichetti
#ROBOMERGE-SOURCE: CL 18621151 in //UE5/Release-5.0/... via CL 18621282 via CL 18621348
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18621396 by anatole menichetti in ue5-main branch]
2022-01-14 14:17:19 -05:00
matt peters
e2962f88c9 SavePackage: Deprecate Conform and DiffMap arguments, and change the interface to use a FSavePackageArgs struct instead of a large number of separate arguments.
#rb Francis.Hurteau
[RN] Core, Minor

#ROBOMERGE-AUTHOR: matt.peters
#ROBOMERGE-SOURCE: CL 18279152 in //UE5/Release-5.0/... via CL 18279174
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18279186 by matt peters in ue5-release-engine-test branch]
2021-11-23 20:56:06 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
ludovic chabant
92075f84a6 Sequencer: Large world coordinates support
- Add support for double precision channels, curves, evaluation, blending, and all other runtime infrastructure.
- Note that, as usual for now, double channels load and save float values.
- Editor side also gains some new track editors for these new types, with some workarounds to correctly recognize between float and double vectors.
- Transform tracks are now operating entirely in doubles.
- Float recomposing APIs for keying tracks in the editor are now using doubles, and have been renamed to "value recomposing".

#rb max.chen
#preflight 6123f6d9e7a3070001ff37ed

#ROBOMERGE-SOURCE: CL 17278174 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v858-17259218)

[CL 17278198 by ludovic chabant in ue5-release-engine-test branch]
2021-08-23 18:26:59 -04:00