Everything Altspace

Understanding Unity URP Conversion

5
(1)

Previously SRP (scriptable render pipeline) was commonly used for Unity development. In Unity 2019.3 URP became supported as an option and since 2019, there has been a slow transition and newer projects and assets are being created with URP compatibility in mind.

You can read about the technical info here: https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@12.1/manual/index.html

How to convert materials for Altspace URP?

Follow this process here and double-check you have allowed Altspace’s Unity Uploader to convert your project to their custom URP when you added the tarball to your project.

If you have already installed the uploader correctly and you have a few pink objects still, read further on for a list of options.

Why can’t assets be converted?

Shaders created with SRP can’t be converted over to URP with success. Use this free asset called 35m super office that contains a sofa asset for an example. This asset was downloaded and not able to be converted. As you can see from the thumbnail it isn’t a complicated asset, so what gives?

Case Example: 35m super office

You can find this asset on the Unity Asset Store if you wish to follow along. At the time I downloaded this asset it was free and now is no longer the case.

https://assetstore.unity.com/packages/3d/props/furniture/3sm-super-office-188973

Let’s look at the package contents so we can identify possible barriers before assets are purchased. This can save you money and frustration.

Question: If I was to download this non-URP asset, can I still use it in URP?

Yes and no. To understand if it’s possible or not we need to look at the asset and the shader.

Shaders interact with materials differently and typically developers will create their own shaders that add a level of realism to their objects. This is done by blending materials and creating noise detailing in objects that make you believe it’s real.

This magic is done in the shader which would need to be rebuilt for URP. This is where you need to set expectations that you may be able to re-map the materials from the asset folder to the sofa but you would not have that level of detail (as seen in the photo). This for VR world builders would not be an issue typically and allows room for lighter materials to be used.

How to reset a broken shader

You can go to the broken material and change the shader to Universal RP lit/unlit and start rebuilding your object materials. Depending on your skill set you may be able to get the asset resembling how it was. Or you could reverse engineer the shader and create a new shader.

Alternatively, if you have another material in your project you can click and drag that material and see how it looks. This process can be tedious and trial and error while also being subject to a degree of success based on the particular asset type and the developers.

Universal Render Pipeline – Lit (default shader) is usually the first recommended shader to try for general scene objects.

Options for broken non-URP compatible shaders

  • You can try contacting the developer or the creator of the asset and ask if you could negotiate them updating their asset to be URP compatible.
  • Use a GUI tool like Amplify Shader Graph to help create your own replacement shaders
  • Use a different material/shader that is already existing OR
  • Rebuild your materials by locating the texture files in your asset folder

How useful was this post?

Click on a star to rate it!

Average rating 5 / 5. Vote count: 1

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?