I’m still really new to unity (I’ve taken a fair few online classes to get familiar with unity), and as I come to the end of the classes, I’m starting to experiment more with other features & assets etc.
I’ve been taught using mainly URP, however, A lot of the assets I’m trying to play around with are giving me the pink material, even when the assets state they support URP.
Is it best just to work in standard 3D, or try and learn how to fix the Pink Materials? (My google-foo to fix the ol’pink has been failing to find the correct solution - at least something that explains it in a way I understand)
To start – the pink materials are because the shader that the material references is not compatible with URP (or HDRP).
Option #1: To solve this, many projects will include a file inside of the project named something like replacement_materials_for_URP.unitypackage which you can simply double click on and have it replace all of the pink materials with the materials which are compatible with your render pipeline of choice. These will often be mentioned in the documentation, so make sure to read any PDFs and help docs that come with your installed package. If there is no mention, sometimes you can find them in the forums or discord or ask the developer for the package, but this assumes that the creator of the package has created these extra materials already. If this is not an art focused package, then you may have to go onto Option 2 below.
Option #2: If you do not see a package*,* then your fallback is to do the following steps (and some people will do this first):
in your Unity editor, click on Edit menu up top
select Render Pipeline from that list
then select Universal Render Pipeline
and finally choose between “Upgrade Project Materials to UniversalRP Materials”
If you still have pink materials after doing both of these, then you may have to create your own new material and apply that to your objects in scene. In about 90% of the cases, those two options will solve it though.
NOTE #1: that the term “UniversalRP”, URP, and LWRP are sometimes used interchangeably. NOTE #2: SRP (Scriptable Render Pipeline) is sometimes mentioned as an umbrella term for the URP and HDRP pipelines.
Thank you! I found my convertor under Window → Rendering → Render Pipeline Convertor
On that menu, I clicked the drop down to select “Built-in to URP”
Then ticked all the boxes, and hit Initialize Convertors & Convert Assets.
Almost all the materials reverted to their originals. some remain pink, but thankfully, nothing that would stand out too much
For any that didn’t upgrade, you can find them quickly by filtering your project view by material (zooming in a bit if required) and the materials that need to be converted by hand are super obvious
To convert them by hand, it is just a matter of recording all of the properties on whatever shader it is using today and then picking a new shader that has most of the same properties and re-applying them once you select the new shader.