[FYI] sebastian.nordgren
Original CL Desc
-----------------------------------------------------------------
Filter out any properties not marked with the "Config" metadata from Project Settings, since they won't be serialized anyway.
#jira UE-119851
[at]richard.hinckley [at]lauren.barnes
#preflight 617ae2a59a207e0001c8309e
#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 17967280 via CL 17967290 via CL 17967306 via CL 17967311 via CL 17969291
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main
[CL 18033000 by lauren barnes in ue5-release-engine-test branch]
#jira UE-132939
LargeMemoryArchive::ReleaseOwnership() sets TotalSize() to 0, so TotalSize must be called before calling ReleaseOwnership. Calling them both as arguments into a function was succeeding on some compilers and failing on others due to compiler optimization differences.
#rb Zousar.Shaker
#rnx
#[fyi] Francis.Hurteau
#ushell-cherrypick of 17947411 by Matt.Peters
#ROBOMERGE-AUTHOR: matt.peters
#ROBOMERGE-SOURCE: CL 18008712 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)
[CL 18008728 by matt peters in ue5-release-engine-test branch]
#rb Josh.Adams
#[fyi] Josh.Adams
#ushell-cherrypick of 17966110 by Brandon.Schaefer
#ushell-cherrypick of 17973510 by aurel.cordonnier
[FYI] aurel.cordonnier
#ROBOMERGE-AUTHOR: aurel.cordonnier
#ROBOMERGE-SOURCE: CL 17973236 via CL 17973494 via CL 17973508 via CL 18005909
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)
[CL 18005930 by geoff evans in ue5-release-engine-test branch]
When ServerID is used, configuration is first loaded from a key matching the ServerID field, in the HordeStorageServers section of the same INI. This makes it easier to put Jupiter configuration in a consistent place and have it stripped by the cooker to avoid leaking any of the configuration.
#rb Zousar.Shaker
#rnx
#preflight 617a28570cec4300011619d4
#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 17961730 in //UE5/Release-5.0/... via CL 17961740
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main
[CL 17961744 by devin doucette in ue5-release-engine-test branch]
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035
[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
Previously, we only added the new directory and not the contents. The new AssetDataGatherer has this assumption now though:
// Note that we AddDiscovered but do not scan the directory
// Any files and paths under it will be added by their own event from the directory watcher, so a scan is unnecessary.
// The directory may also be scanned in the future because a parent directory is still yet pending to scan,
// we do not try to prevent that wasteful rescan because this is a rare event and it does not cause a behavior problem
When we iterate the contents of a new directory we now add them to the FileChanges array to match the above.
[at]Brandon.Schaefer, [at]Will.Damon
#jira UE-131552
#ROBOMERGE-AUTHOR: michael.sartain
#ROBOMERGE-SOURCE: CL 17907948 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)
[CL 17907958 by michael sartain in ue5-release-engine-test branch]
In some code paths for loaded actors the call order might be different since primitive registration gets deferred (i.e. FRegisterComponentContext != nullptr).
Case 1 (normal flow): FRegisterComponentContext == nullptr
> UPrimitiveComponent::CreateRenderState_Concurrent : calls CreateSceneProxy
> RegisterDebugDrawDelegate
> UnregisterDebugDrawDelegate ==> works fine
Case 2 (deferred AddPrimitive): FRegisterComponentContext != nullptr
> UPrimitiveComponent::CreateRenderState_Concurrent : defers CreateSceneProxy
> RegisterDebugDrawDelegate (skip register since not init)
> CreateSceneProxy
> UnregisterDebugDrawDelegate ==> ensures in UnregisterDebugDrawDelegate
With this new version `CreateRenderState_Concurrent` calls `RequestRegisterDebugDrawDelegate` that will take care of registering the delegate immediately or mark it for deferred execution. An explicit call to `ProcessDeferredRegister` is then required from `CreateSceneProxy` to implement proper flow:
Case 2 (fixed) (deferred AddPrimitive + deferred Register): FRegisterComponentContext != nullptr
> UPrimitiveComponent::CreateRenderState_Concurrent: defers CreateSceneProxy
> RequestRegisterDebugDrawDelegate: defers RegisterDebugDrawDelegate
> CreateSceneProxy: calls ProcessDeferredRegister & RegisterDebugDrawDelegate
> UnregisterDebugDrawDelegate ==> works fine
Bonus:
- New DebugDrawComponent abstract class that is now used to share common functionalities between existing debug related components. Takes care of DelegateHelper registration flow to render text on screen from different sources.
- FDebugDrawDelegateHelper::InitDelegateHelper is no longer virtual and derived classes requiring extra data from their associated scene proxy should set it up from their overriden CreateSceneProxy
- FDebugDrawDelegateHelper derived classes should not override RegisterDebugDrawDelegate/UnregisterDebugDrawDelegate to use their `DrawDebugLabels` method since this is already a virtual method that would get called from the base class.
- Fixed a few ViewFlag members in the SceneProxy so the DelegateHelper base class can behave as expected
#jira FORT-419154
#rb mieszko.zielinski
#preflight 61703f8766ed7f0001c0faf1
#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-COMMAND: FnMain
#ROBOMERGE-SOURCE: CL 17875336 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0
#ROBOMERGE[bot1]: Main
[CL 17875370 by yoan stamant in ue5-release-engine-test branch]
- Build now takes optional inputs for consistency with BuildAction.
- BuildAction has been renamed to Build and works the same as Build except it starts from an action.
- Build now takes a FBuildPolicy, which is implicitly constructible from EBuildPolicy, and allows setting the policy by payload.
- FBuildContext and FBuildConfigContext now have policy masks that allow clearing flags across every payload in the build.
- EBuildPolicy has CacheStore split into CacheStoreOnQuery and CacheStoreOnBuild for more control of cache behavior.
- Builds now use consistent completion callback parameters, FBuildCompleteParams.
- Build types now have debugger visualization.
#rb Zousar.Shaker
#rnx
#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 17874670 in //UE5/Release-5.0/... via CL 17874724
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Main
[CL 17874740 by devin doucette in ue5-release-engine-test branch]