How I went from Built-In to URP in Unity and back using Chat GPT

How I went from Built-In to URP in Unity and back using Chat GPT

Recently I decided to try switching from classic Built-In rendering on URP (Universal Render Pipeline) in Unity in my game “Spearfishing”. Many developers recommend URP for its advanced graphics and mobile optimization capabilities. I expected that the transition would only bring improvements, but in the end I encountered a lot of problems that prompted me to return back to Built-In Pipeline. In this process I actively used Chat GPT. Here is my experience and the main reasons that led me to return to the old system.

1. Performance drop on older devices

One of the main goals of my project is to work on a wide range of devices, including older models. When the game was running Built-InI saw stable 26 fps. After switching to URPproductivity dropped significantly to 18 fps. Although there are many opportunities for optimization, such as adjusting shadow levels, lighting and the use of lightmaps, improve performance at the level Built-In I never succeeded.

By using Chat GPT I have chosen several optimization strategies such as using URP Asset with minimal quality settings, disabling heavy effects and dynamic shadows. Despite this, I still did not see an increase in fps. On my old one Honor 9 Lite, Built-In turned out to be more stable.

2. Water problems and shader errors

One of the biggest challenges when switching to URP became water. In the project I used the FX/Water water shader, and in Built-In everything worked as it should. However, when switching to URP Errors started appearing, for example:

IsCameraProjectionMatrixFlipped is being called outside camera rendering scope.
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

I decided to try some popular water assets that are compatible with URPsuch as:

However, these solutions either required too many resources and degraded performance, or did not achieve the quality I was looking for in Built-In. I tried to remake the shader via GPT, rewrote the water script, trying to adapt it to my old system. However, despite all the attempts and advice from GPT, I was still unable to fix the error.

3. Problems with trees and billboards

The third major problem was trees. IN Built-In I used Nature/Tree Soft Occlusion Leaves (Bark) for the trees so that the terrain would automatically make billboards. IN URP I tried to use SpeedTree shaders, but the trees looked crooked – they were too dark upon closer inspection. Also having problems with display billboards (simple 2D images of trees at a far distance), part of the tree completely disappeared and the billboards were significantly higher than the detailed tree.

Solutions via Chat GPT

In the process of working with Chat GPT I received many useful solutions and approaches that made the debugging and experimentation process easier:

  1. Debugging shaders and checking render textures – GPT helped set up proper testing of render textures for water and explained how to test them in real time, helping to understand why water was not rendering properly.

  2. Creating a tool for mass conversion of materials — During the transition to URP, I used a standard converter, but there were no standard tools for the transition back to Built-In. By using Chat GPT I created a script to automatically search for materials with incorrect shaders and mass convert them. The result was a tool with the ability to select materials for conversion, which saved a lot of time.

    Before rolling back, you must first convert the materials from the URP

    Before rolling back, you must first convert the materials from the URP

  3. Steps to optimize performance — Together with GPT we went through the optimization steps: adjusting lighting, shadows, level of detail and other elements. However, even with these optimizations, URP remained too heavy for older devices.

Conclusion

Go to URP It promised a lot of benefits, but in my case it led to unexpected problems, such as a drop in performance, bugs with water rendering, and difficulties with trees. By using Chat GPT I was able to understand the work more deeply URPcarry out serious debugging, create tools to automate the process, but in the end I still had to return to Built-Inas this was the only way to achieve the desired level of productivity and quality.

My conclusion: URP is a powerful tool for modern projects, but if you work with custom solutions and older devices, then Built-In may prove to be a more stable and performant choice.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *