Improved UX For Device Tree and CVar Conditions
- Clean up Niagara Device Tree
- new bIsVisibleForAsssets value in device profiles to have them indicate which device profiles should be visible in other assets.
- Improved tooltips and colouring on device tree to better show what is enabled/disabled and why.
- Added tooltips for CVar conditions to text entry and suggestion boxes showing the CVar help text.
PlatformSet Redirect feature =
- Can redirect usage of device profiles to other device profiles or CVar conditions.
- Allows fixup of content referncing legacy device profiles.
- Adding CVar fx.Niagara.LegacyDeviceProfiles to facilitate some legacy DP fixup.
Platforms now specifiy a min & max Niagara Quality Level they support which reduces need for trawling ini files and allows fragments to set quality level.
CVar Conditions now have more control over what occurs when the condition is passed or failed. Previously they could only disable the set when the condition is failed which is now the default.
Misc Fixes
- Preview DP is cleared before restoring CVar states so CVar callbacks have the correct preview DP value.
- Data Driven CVars are now updated correctly when default is modified in project settings.
- Console Manager now has a callback when CVars are unregistered.
- Utility function for calling a functor on all platform sets in a Niagara system.
- Tweaked callbacks for CVar changes so updates are defered and also limited to only refresh things that references changed CVars.
#rb Stu.Mckenna, Josh.Adams
#preflight 6228bc3a1f1ec97d4e89a3c4
#ROBOMERGE-OWNER: josh.adams
#ROBOMERGE-AUTHOR: simon.tovey
#ROBOMERGE-SOURCE: CL 19321301 via CL 19321315 via CL 19325452 via CL 19327333 via CL 19327341
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)
[CL 19348289 by josh adams in ue5-main branch]
Support Vulkan by default
Disable Vulkan on Adreno 5xx
#jira UE-142735
#rb Dmitriy.Dyomin
#preflight None
#ROBOMERGE-AUTHOR: jack.porter
#ROBOMERGE-SOURCE: CL 19243809 in //UE5/Release-5.0/... via CL 19248218
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)
[CL 19262878 by jack porter in ue5-main branch]
Android_Preview_OpenGL sets FX.AllowGPUSorting to be consistent with device
FX.AllowGPUSorting has ECVF_Preview flag now to allow this
#rb Allan.Bentham
#jira UE-141586
#preflight 620532fc9d0b224b895f11a3
#ROBOMERGE-AUTHOR: florin.pascu
#ROBOMERGE-SOURCE: CL 18937062 in //UE5/Release-5.0/... via CL 18937617 via CL 18938152
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)
[CL 18938190 by florin pascu in ue5-main branch]
- CHange PreviewAllowlistCvars (for Android and IOS) from None to sg. so that scalability groups can be previewed
- Fixed the PreviewAllowlistCVars/PreviewDenylistCVars value lookup to use the proper ConfigSystem instead of GConfig
#rb jack.porter,simon.tovey
[FYI] simon.tovey
#p4v-preflight-copy 18533519
#preflight 61d89a142e0e436c728167c6
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 18558705 via CL 18559183 via CL 18559192 via CL 18559203 via CL 18559441 via CL 18559449
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)
[CL 18559454 by josh adams in ue5-release-engine-test branch]
2. Enable mobile AO and PPR on highend mobile devices
#jira UE-119101
#8178
#rb Dmitriy.Dyomin
#ROBOMERGE-SOURCE: CL 16906590 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)
[CL 16906591 by wei liu in ue5-release-engine-test branch]
Now only r.AntiAliasingMethod prevails to selects the anti-aliasing method explicitly for the deferred shading renderer. Each AA technic have it's own cvars to control their quality independently
FXAA now have its own r.FXAA.Quality. The FXAA shader permutations where mis configured with r.PostProcessAAQuality=1 & 2 both mapping to the FXAA_PC_CONSOLE=1 that is now r.FXAA.Quality=0. Instead r.FXAA.Quality now offer more mid-quality settings for FXAA_PC=1 with r.FXAA.Quality=1 & 2 & 3. Backward comaptible migration is as followed:
- r.AntiAliasingMethod=1 r.PostProcessAAQuality=0 -> r.FXAA.Quality=0
- r.AntiAliasingMethod=1 r.PostProcessAAQuality=1 -> r.FXAA.Quality=0
- r.AntiAliasingMethod=1 r.PostProcessAAQuality=2 -> r.FXAA.Quality=0
- r.AntiAliasingMethod=1 r.PostProcessAAQuality=3 -> r.FXAA.Quality=3 but with some neighborhood search setting changed in FXAAShader.usf
- r.AntiAliasingMethod=1 r.PostProcessAAQuality=4 -> r.FXAA.Quality=4
- r.AntiAliasingMethod=1 r.PostProcessAAQuality=5 -> r.FXAA.Quality=5
TAA now have its own r.TemporalAA.Quality. Backward compatible migration is as followed:
- r.AntiAliasingMethod=2 r.PostProcessAAQuality=0 -> r.AntiAliasingMethod=0
- r.AntiAliasingMethod=2 r.PostProcessAAQuality=1 -> r.AntiAliasingMethod=1 r.FXAA.Quality=0
- r.AntiAliasingMethod=2 r.PostProcessAAQuality=2 -> r.AntiAliasingMethod=1 r.FXAA.Quality=0
- r.AntiAliasingMethod=2 r.PostProcessAAQuality=3 r.TemporalAAUpsampleFiltered=0 -> r.TemporalAA.Quality=0
- r.AntiAliasingMethod=2 r.PostProcessAAQuality=3 r.TemporalAAUpsampleFiltered=1 -> r.TemporalAA.Quality=1
- r.AntiAliasingMethod=2 r.PostProcessAAQuality=4 -> r.TemporalAA.Quality=2
MSAA r.AntiAliasingMethod=3 & TSR r.AntiAliasingMethod=4 remains unchanged.
sg.AntiAliasingQuality now maps to different r.TemporalAA.Quality or r.FXAA.Quality
Automated tests on base CL: https://horde.devtools.epicgames.com/job/60d5b8410123b700014f9db5
Automated tests on change CL: https://horde.devtools.epicgames.com/job/60d47cde57b302000114bebf
#rb none
[FYI] jack.porter, wei.liu
#lockdown michal.valient
#ROBOMERGE-SOURCE: CL 16823623 via CL 16823646
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)
[CL 16823657 by guillaume abadie in ue5-release-engine-test branch]
#rb trivial
Removed reference to UE4 in comments
#ROBOMERGE-SOURCE: CL 15746265 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533)
[CL 15750750 by mark lintott in ue5-main branch]
This works better than full FBF and supported on most Adnroid devices. Fallback to FBF when extension is not supported
(merged from Release-Engine-Staging)
#jira UE-106962
#ROBOMERGE-SOURCE: CL 15624985 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v777-15581079)
[CL 15625000 by dmitriy dyomin in ue5-main branch]
- Formalizing all TargetPlatforms to have a Client version, rename WindowsNoEditor to Windows, and removing DDPI specification of TargetPlatforms, and generate them programmatically
- Updated names DeviceProfiles and Build scripts, as above
- Some PlatformInfo class cleanup
- Added a TNonDesktopTargetPlatformBase class to make most TargetPlatforms simpler
- Added "No Compiled Support" to the Turnkey LaunchOn menu when the TargetPlatforms aren't compiled in (to show that even if you install an SDK, you will need to compile before you can LaunchOn)\
- Starting the transition away from PlatformInfo::FPlatformInfo to FDDPI
[CL 13966487 by Josh Adams in ue5-main branch]