Hello, We’ve been working on a project since a few months, Wondering if URP is production ready or not, We project we are working on is 3D we aren’t using speedtree
also is it better performance than normal render pipeline and how much better is it?
@DebugLogError Well we are working on battle royale project for mobile and I’ve seen some people saying there is bugs and its not production ready that was a few months ago, We are just going to use shader graph, some normal post processing effects, lit shader
The closest thing to a proper mobile battle royale made with Unity is Call of Duty. Which is made with Unity 5.6, according to its APK. So if you want high mobile performance (as of 2020), using the oldest Unity version you can get away with and customizing (aka: hacking) the hell out of the built-in renderer seems to be the way to go. Licensing the Unity source code also helps (which Activision definitely did for CoD).
Nope. I have been working on it for over half a year now and I am sure that URP cannot be ready within this year. Too many edge cases and a lot of feature that needs to be implemented and fixed.
If you have time and dedicated graphics programmer who knows mobile graphics and their limits try it. As far as I can see, the improvement on render speed is quite good. Apart from the fact that you have to do a lot of re-inventing the wheel since there are some cases where URP can’t match the needs.
For instance, PostProcessing. It is just dumb when you upgrade to 7.3.0 above URP. No more custom postprocesses, crashes due to not properly handled device limitations that requires you to bypass it via camera feature or something else, which ends up with re-writing the pp again or just not use it. They said that they would ship it at 8.0 but no eta yet.
You really need to test it yourself because URP is new so all the edge cases have not been smoothed out.
Here is what I’m doing: I’m sticking to built-in for the main branch and exporting assets to a test bed. This test bed represents all scenario that are in the game in separate scenes: heavy UI, multi light points, many skinmeshes moving, many instances moving, loads of lightbaked static meshes, camera looking down, camera looking in the distance, a mix of all that.
I have a script run each scene for 10 seconds and record memory and fps, I let it run overnight for memory leaks.
Then convert to URP and let it run overnight then compare.
@laurentlavigne very cool information, we will start testing after we finish the project , if URP didn’t work as i expected then i guess i have to use forge shader instead of shader graph, thanks a lot!.
I don’t think it would fit all your needs. Basically, one would expect to be able to bend colors behind (aka distortion) but with single pass and no grab pass (only half functional opaque color texture grabbing) you need to get creative. I recommend working with URP but don’t settle down for URP. It needs to be more mature and need a bit more documentation so that you don’t need to dig through URP code and end up with SRP.