-- Removed per observed controls for StartMode, CacheMode and moved to a single set of controls on the cache manager.
-- Cache takes name from observed component.
-- Placed CacheCollection automatically set to Kinematic, non-placed are Record
-- Random access start frame
-- Consistenty record all transforms in Actor space
-- Compatible with Sequencer control
-- Created Playback only CacheManager subclass
-- GeometryCollection recording abides component flags to record/playback breaking/collision/trailing events
#rb benn.gallagher
[FYI] brice.criswell
#ROBOMERGE-SOURCE: CL 16684501 via CL 16684502
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)
[CL 16684503 by brett miller in ue5-release-engine-test branch]
#ROBOMERGE-SOURCE: CL 16491352 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v823-16466674)
[CL 16491365 by michael forot in ue5-main branch]
-- implemented deferred initialization using the existing SimulatePhysics property and SetSimulatePhysics blueprint function.
-- Cleaned out old caching code
#jira FROST-1065
#rb brice.criswell
#ROBOMERGE-SOURCE: CL 16461543 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v818-16446889)
[CL 16461679 by brett miller in ue5-main branch]
-- Support for Nanite to GeometryCollection conversion
-- Support for multiple UV sets
#jira UE-114992
#rb jimmy.andrews
[FYI] brice.criswell
#ROBOMERGE-OWNER: peter.knepley
#ROBOMERGE-AUTHOR: brett.miller
#ROBOMERGE-SOURCE: CL 16363667 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v804-16311228)
#ROBOMERGE-CONFLICT from-shelf
[CL 16370251 by peter knepley in ue5-main branch]
- Require 64bit atomic support for Nanite by default now (r.Nanite.RequireAtomic64Support=1)
- Cleaned up a bunch of cvar component reattach callbacks to use lambdas instead of redundant global functions
- Added UStaticMesh::HasValidNaniteData() as a helper to check if an asset has valid Nanite data
- Improved Nanite unsupported on screen error message so that we don't asks the user to update GPU drivers on a console :)
#rb nick.whiting
#jira UETOP-1646
[FYI] brian.karis, michal.valient
#ROBOMERGE-OWNER: graham.wihlidal
#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 16363554 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v804-16311228)
#ROBOMERGE-CONFLICT from-shelf
[CL 16363648 by graham wihlidal in ue5-main branch]
- change matrix types for dynamic data to be explicitly using float
- wrapped update of vertex buffer to ensure type check
- When LWC mode is on, convert double based matrices to they float equivalent ( sub-optimal, but necessary for now until we have a better way )
#jira UE-115570
#fyi brice.criswell, brett.miller
[CL 16333456 by cedric caillaud in ue5-main branch]
- Added a debugging flag to enable single threaded bounds.
#jira FROST-2056
#rb Brett.Miller
#preflight 60932ea7c68b5a00017e5039
[CL 16216433 by Brice Criswell in ue5-main branch]
-- Added state machine logic and scene proxy callbacks for triggering when motion begins and ends.
#jira UETOP-1546
#rb graham.wihlidal
#lockdown nick.whiting
#ROBOMERGE-SOURCE: CL 16178376 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v792-16166999)
[CL 16178381 by brett miller in ue5-main branch]
* Implemented thread safe object pool / free list allocator (FGeometryCollectionDynamicDataPool)
* Added Chaos stats for total transforms and changed transforms
* Removed TransformsAreEqual mechanism that caused full transform updates to occur unnecessarily for 2 subsequent frames, as the state wasn't stable until the previous 3 frames were stable. This was incredibly innefficient for GPUScene, etc..
* InitDynamicData now returns the data allocation (which can be null if not dynamic or if no transforms have changed), users of this now check if it's available, and either skip or fall back to the static/rest path otherwise
* Cleaned up some code paths by combining them with similar passes
* Removed tons of allocations, including heavy allocations/memcopies of transform data, even on stable frames (which were immediately deallocated right after allocation and setup of the dynamic data)
* Saves ~0.5 to 1.0ms of CPU time in heavy scenes
* Saves ~0.5ms of GPU time doing far less GPUScene updates
* Main optimization around this refactor is forthcoming in a followup CL (avoid calling MarkRenderTransformDirty in TickComponent).
#rb brett.miller, brice.criswell
#lockdown nick.whiting
[FYI] brian.karis, rune.stubbe
#jira UETOP-1088
#ROBOMERGE-SOURCE: CL 16059409 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v789-15992632)
[CL 16061411 by graham wihlidal in ue5-main branch]
- Strip geometry attributes from the collection when using the collection as a simulation viewer.
- Use the transferred bounds on the minimal asset for rendering bounds.
- Minor clean to expose user controllable cache only state to the GeometryCollectionObject
#jira UE-113611
#rb Brett.Miller
[FYI] Graham.Whlidal
#lockdown nick.whiting
#ROBOMERGE-OWNER: Benn.Gallagher
#ROBOMERGE-AUTHOR: brice.criswell
#ROBOMERGE-SOURCE: CL 16052869 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v789-15992632)
#ROBOMERGE-CONFLICT from-shelf
[CL 16060655 by Benn Gallagher in ue5-main branch]