Is it feasible to ship with both URP and HDRP? I understand each has a separate approach to authoring content but I don’t mind if I have to keep 2 separate copies of scenes and materials and shaders etc and ship and load the appropriate ones from 2 sets of asset bundles. I don’t need to switch between them at runtime either. I just want to be able to use HDRP for the PC version of my game while not breaking compatibility with the existing URP console version. As it is I can switch between platforms in one project quickly and build easily and want to keep that convenience
Even better if I could include both sets of assets for the PC version and have it be a launcher option or even a seperate executable. Is there a way to do this now or would it be wiser to not mix these things and have 2 separate projects entirely?
Most game developers first build the game for one platform and then port it to the next
Porting from HD to URP is a simple task… Unity is very easy for porting games because the editor is very fast
For using both renderers in one project you need to have 2 versions of an almost all things. Textures, materials, shaders, lighting settings, volume settings, post process settings, custom passes and hell know what else.
This is actually what I’ve done. The URP version has already released on Switch and is fully functional to release on PC. I could just port the PC release to HDRP but the ideal move would be to ship both versions together on PC and have the render pipe essentially be a setting or launcher option. This would let me keep the game compatible with low powered computers while also supporting high end.
My game doesn’t have a lot of assets and substance makes it quite easy to target either pipeline for export so maintaining 2 versions isn’t an issue
HDRP isn’t supported on switch, which is a problem for me as I want to maintain compatibility from the same project while adding support for it for other platforms.
From a little research it appears Unity recommends against this but doesn’t say it can’t be done.
For my next project ideally I would have scalability from mobile all the way to high end desktop. This has me considering Unreal for next time as it seems Unity isn’t all that multiplatform anymore if you can’t easily build to the 3 major consoles and PC with the appropriate renderer for each.
Use built-in pipeline to have same project for all platforms with minimum changes
You can even switch at the runtime
I am built-in pipeline fan boy… it’s better than UE4… and UE4 is better than HDRP and URP
Agreed that the built in pipeline is still the best one. It even supports HDR displays which is a feature I really want. But this game in particular uses VFX graph, meaning I can’t easily roll back without quite a bit of reauthoring
That’s good to know thanks. I thought it was SRP only. It still would be nice to have HDRP as optional though to support the cutting edge stuff like ray tracing effects and so on. If the SRP route had the same kind of scalability as built in I would have no complaints. As it stands though I don’t think many devs want to make a console game that can’t be easily interchanged between Switch/PS5 for example. With SRP it seems that sort of multiplatform support is gone which was one of the main benefits of using a game engine like Unity in the first place
The way it is now could work for me as long as neither causes a conflict when developed in the same project
To put it bluntly it seems with SRP we don’t have multiplatform support anymore. Surely I can’t be the only dev looking for information on doing multiplatform in a multiplatform engine? Again I don’t mind having 2 versions of everything just as long as it’s all in one project buildable to all platforms
HDRP was newer be planned to be scalable, it was planned as renderer for hi-end cinematics, and all HDRP architecture are build around it. And required performance baseline of HDRP became higher and higher with each release.
I see your point but unreal looks equal if not better and supports export to all major platforms. Unity built in can compete with that but is deprecated. The URP/HDRP system seemingly can’t match this as the built in pipeline did
It will take ten years for built-in to deprecated…
The performance is better than UE4 and HDRP or URP
The quality is maxed out (has Stochastic SSR, True Volumetric Light …)
Some things are misunderstood:
Reflections in Unreal, for example, are better because it uses a coat shader (two layered). In Unity you can implement it using the Amplify Shader Editor
built-in performance is 2x higher than UE4 and HDRP with exactly same quality… final build exe file is much faster than hdrp and UE4
comparisons (hdrp vs built-in):
What is supported in both ports rather easily generally. But it’s not just as simple as HDRP will look better. It’s unlikely to look significantly better enough to warrant all the work without doing specific things to leverage the features in HDRP. So really you need to start by doing a deep dive on HDRP and identify with specificity what you will use and what value that brings.
Then offset that by all the dev time you are looking at, and the 3-4ms overhead you get with HDRP vs URP.
I agree built in sounds like a good option here.
URP is more appealing for shops that have a need and ability to customize the pipeline. SRP batcher can in some cases be a significant value also. But mostly built in is just better then everything else still.
HDRP isn’t just good for cinematics, it’s good for their marketing also! But ya not much else.
Agreed that SRP batcher is great that is a quality feature. I understand HDRP isn’t a one click solution and takes work. What I’m asking is if URP and HDRP can coexist in the same project without interfering with each other. The way it seems now is that if I do 2 versions of each asset they will both be imported into the library folder for each platform which is not ideal
Renders look great, could you indicate the assets and methods your using for the rendering in buit in please ?
I mean there are tons of plugins in unity and they do not all offer the same level of quality,