StructUtilsTestSuite has been moved to Developper
StructUtilsEditor has been moved to Engine/Editor
NetSerialization for FInstancedStruct not using native serialization has been moved to the engine module since FRepLayout is not available in CoreUObject module.
Old plugins and modules are kept temporarily and will be remove in a different CL
Temporary header files added to facilitate transition to the new include path
#jira UE-216472
#rb Devin.Doucette, Francis.Hurteau
[CL 34509881 by yoan stamant in ue5-main branch]
- Still to investigate (in no particular order):
* the override store actions
* bRenderToSceneColor - does it need to be 1 on VisionOS?
* Can we do both eyes in one pass so we don't need to store everything out just to turn around and load for right eye? Left eye goes black without storing everything out
#rb carl.lloyd, Jeff.Fisher
[CL 34501157 by josh adams in ue5-main branch]
- Added ability to retry stale background downloads when we're in foreground on iOS
- Fixing race condition on background file hash helper invoked from different threads
#rb adam.kinge
[CL 34453579 by dmytro ivanov in ue5-main branch]
- moved ownership of RayTracingGeometry from FStaticMeshLODResources to FStaticMeshRayTracingProxyLOD so offline data can be streamed-in when ray tracing is toggled on.
- request streaming of ray tracing geometry when it is initally registered or FirstLODIndex changes.
- moved call to ProcessCompletedStreamingRequests(...) so it in every code path of FRayTracingGeometryManager::Tick(...)
- enabled r.RayTracing.EnableOnDemand by default on all platforms.
#rb aleksander.netzel
[CL 34416694 by tiago costa in ue5-main branch]
In BaseEditor.ini set the default value for ImpulseUnits and PositionalImpulseUnits.
#jira UE-217687
#rb brooke.hubert
[CL 34284795 by ross smith2 in ue5-main branch]
- Enable async compilation by default
#jira UE-171786
#rb bojan.brankov
[RN] Groom Bindings are now compiled asynchronously by default in the editor
[CL 34277157 by danny couture in ue5-main branch]
* Downsampled reflections (High scalability) now use temporal upsampling without a heavy spatial filtering pass, so that they can match full resolution reflections (Epic scalability). The main difference between scalability is now tonemapping reducing energy for High and a small spatial filter running on thin and unstable features.
* Temporal accumulation is now more stable, especially under motion. It uses a wider neighborhood clamp with improved history heuristics.
* Ghosting has been somewhat reduced using a tighter neighborhood clamp in YCoCg space and various confidence heuristics speeding up temporal accumulation when a potential mismatch is detected.
* Reflections are in general sharper. Corrected temporal reprojection math, spatial filter is less aggressive, has improved edge stoppers and is driven by a temporal variance, which allows it to run only on pixels which didn't converge well.
* There's less noise due to a combination of improved temporal accumulation, spatial filtering and a bit of color space crunching which helps to reduce energy in hardest to denoise cases
* Fixed various bugs with reading uninitialized data on screen borders and during reprojection
* A few optimizations, like using groupshared to calculate temporal neighborhood and skipping certain operations if they aren't needed
Performance. Console. 1080p. HWRT. LumenReflectiveTest.
Glossy
Epic: 2.89ms -> 2.64ms
High: 1.63ms -> 1.49ms
Mirror
Epic: 1.17ms->1.01ms
High: 1.94ms->1.74ms
[CL 34167848 by krzysztof narkowicz in ue5-main branch]
- Currently disabled by the macro ENABLE_MATERIAL_LAYER_PROTOTYPE until we have a fully fleshed out system to enable.
- Implemented 2 new Substrate nodes: Get and Set attributes. Get allows the embedding of a Front Material with general Material Attributes for passing between functions, and Set splits the Material Attributes back into Front Material and Non-Substrate attributes. These are not strictly for use in Layering. This allows the Material Attributes including Substrate data to pass between Layers and Blends smoothly.
- Changed the autopopulation of Layer and Blend function material graphs to utilise the Get and Set attributes nodes. Non Substrate Attributes continue to pass through the legacy blend node, which only supports Horizontal blending. The Front Material is now separated and passes through the Substrate Horizontal Mixing node. This all occurs via a new engine level Blend Material Function MLB_Horizontal.
- Created update paths to convert legacy material layers to utilise the new Substrate structure (automatically converts to Horizontal mixing only)
- Created these structures using the "MaterialFunctionUsage" flags at the Function level -> This will ensure the ability to create contextual re-use of material functions regardless of whether they are marked layer or not.
- Altered the Preview functionality of Blend nodes so the expected output is clearer (uses the Input's embedded PreviewValue). Created a static default substrate slab creator function which supports this with any override color.
- Changed the colour of the Substrate utility nodes to match Substrate
#rb Jason.Nadro, sam.gateau, Sebastien.Hillaire
#jira UE-215192
#virtualized
[CL 34157861 by jon cain in ue5-main branch]
- disable r.DynamicRes.DynamicFrameTime by default and only enable on Windows to maintain same behaviour.
#rb Guillaume.Abadie
[CL 34104175 by tiago costa in ue5-main branch]