*Added FPrimitiveSceneDesc, a structure you can initialize with a description of the primitive you're trying to Add/Remove/Update in the FScene
-Added entry points in FSceneInterface to do those operations, legacy entry points using UPrimitiveComponent are untouched.
-The code that executes those operations in FScene has been refactored to be shared between the two entry points as much as possible to lessen the additional maintenance burden.
*Added FPrimitiveSceneProxyDesc/FStaticMeshSceneProxyDesc/FInstancedStaticMeshSceneProxyDesc, structures that hold all the necessary information to create a FPrimitiveSceneProxy/FStaticMeshSceneProxy/FInstancedStaticMeshSceneProxy without depending on AActors or UPrimitiveComponent.
-Those structures can be initialized by constructing them with the corresponding UPrimitiveComponents, or by constructing their default versions and initializing the desired fields.
-Creation code for FPrimitiveSceneProxy/FStaticMeshSceneProxy/FInstancedStaticMeshSceneProxy now takes all its info from those desc structures. They are created on demand during scene proxy creation for UPrimitiveComponents. This means no additional memory, and all serialized assets & blueprints are unaffected.
*Added IPrimitiveComponent/IStaticMeshComponent interfaces
-These allow for some editor-only interactions occurring during proxy creation, and serve as a common interface for some code that expected to manipulate UPrimitiveComponent/UStaticMeshComponents. For example FObjectCacheEventSink / FObjectCacheContext now uses those interfaces to associate the resources between various users and interactions like proxy recreation on shader/mesh changes occur through those interfaces.
* Misc
-Moved scene primitive related member variables into a new structure (FPrimitiveSceneInfoData) to facilitate code sharing and implementations of various related functionality (like SetLastRenderTime).
-Changed ObjectCacheContext to store associations between resources and components using component interfaces so that other systems creating proxies have the proper behaviors when resource changes require proxy recreation.
-Added natvis support so that component interfaces to UPrimitiveComponent/UStaticMeshComponent display the component ptr for easier debugging.
-Changed FMotionVectorSimulation to use UObject* instead of UPrimitiveComponent*, it was already using this internally
-Templatized some nanite helpers like ShouldCreateNaniteProxy & AuditMaterials since we need to use them from both UPrimitiveComponent & FPrimitiveSceneProxyDesc and it'll help make sure we keep them in sync.
#jira UE-191990
#rb Zach.Bethel, Ola.Olsson, Jason.Nadro, Krzysztof.Narkowicz
[CL 27200716 by dominic couture in ue5-main branch]
2) Removed usage of WITH_VERSE and UE_USE_VERSE_PATHS
3) Modified UBT to always set WITH_VERSE and UE_USE_VERSE_PATHS to one until the setting is completely removed.
#rb Andrew.Scheidecker
[CL 27199531 by tim smith in ue5-main branch]
1. A project can override the default value in that project's DefaultEditorSettings.ini
2. A user can indicate they don't want to see the dialog in the future, and thata setting is persisted to the user's editor settings file
If the setting indicates (either through defaults or user choice) that the acknowledgement dialog can be skipped, then unattended operations (eg: commandlets like cook etc..) are permitted to attempt interactive login by launching the browser. If the browser login succeeds within a fixed timespan (30 seconds), then the unattended operation can proceed having successfully obtained an oidc token. If the browser login hasn't succeeded in the fixed timespan, then the unanttended operation will proceed but will have failed to obtain an oidc token. In neither case do we block indefinitely on completion of browser login to obtain an oidc token.
#rb joakim.lindqvist
[FYI] stefan.boberg
#jira UE-191803
[CL 27177449 by zousar shaker in ue5-main branch]
-Delta code vertex attributes and cluster refs
-ZigZag code deltas
-Store them as whole bytes
-Split high/mid/low bytes into separate streams
Transcode
-Transcode is now split into an independent pass and a number of dependent passes
-Launch a group per cluster instead of launching a group per potential cluster in a page and have them early out
Got rid of unused vertex color mode: NANITE_VERTEX_COLOR_MODE_WHITE
#rb brian.karis
[FYI] graham.wihlidal, jamie.hayes
#jira
[CL 27132972 by marc audy in ue5-main branch]
- During staging, we now make the UBTGenerated/Info.Template.plist in the project folder instead of Engine folder, for BP projects
- Fixed an AppStoreConnect label in the Xcode project settings that would have confused anyone trying to set it up
#jira UE-193101, UE-193108, UE-193104
#rb Calvin.zheng
[CL 27130271 by josh adams in ue5-main branch]