Installing the Universal Render Pipeline in Unity 2021.2
The first thing I’m going to do is set up a new github repository with the unity specific gitignore file and install a fresh project with the URP template.
I’ve already exported my control room scene as a package to a neutral location on my storage drives.
To do so, simply open the control room project, right click the scene, and click export package.
With my new URP project open, I’ll use file explorer in Windows to find my Clean control scene package, and drag it into the Project view of Unity.
This will prompt an import screen, and I will import everything.
Do not be alarmed, everything being rendered as pink is normal!
This happens because we’ve imported only assets that use the Standard shader.
The standard shader utilizes Unity’s built-in render pipeline, and we are now on the Universal Render Pipeline.
Now, it would be ridiculous to have to go through each game object, model, etc and reset the shader so Unity has a built-in process to make this painless.
Render Pipeline Converter
The Render Pipeline Converter converts assets made for a Built-in Render Pipeline project to assets compatible with…
For a complete breakdown of this process, please utilize the link above for Unity’s guide on Render Pipeline conversion.
Upgrading our project assets to URP
Before you begin, if you do not have a backup of your project, you should do so.
This will make irreversible changes to files in your project.
Go to Window, Rendering, Render Pipeline Converter in the Unity editor.
Select all of the different things you’d like Unity to upgrade to URP.
I can’t imagine why you wouldn’t select all of them, so that is what I have done here.
I’ll select all of the quality levels from the built-in render pipeline as I’m not sure which are in use, and double check that all of the assets listed have a checkmark.
Then I’ll click “Convert Assets”.
Now I notice some of the files failed to convert, but they are all included with the URP package itself and thus do not need conversion.
I’ll close the Render Pipeline Converter window and look over my project.
A quick flythrough around my scene and I’m not seeing any pink objects other than the player controller, which is supposed to be pink.
Just to lock in this success and create a sort-of “restore point” if needed, I’m going to do a github commit at this time.
We’ll open our Lighting window, and I’m going to pin it next to my inspector tab.
In our Lighting window, on the Scene tab, we need to make sure we have a Lighting Settings profile active.
If not, create one.
I’ll use the Progressive GPU Lightmapper, as this should be faster.
It is in preview though, so if you encounter issues you may put this back on CPU lightmapping.
I also will use Auto Generate so that the lighting automatically updates.
If this slows your computer down too much, you can uncheck this and manually run the lightmapping when needed.
Creating a new Skybox
We’ll add a new folder to hold our Skyboxes, and create a new material and rename it to “Skybox”.
At the moment our Skybox material is set to URP/Lit which is not acceptable for the skybox material in our Lighting/Environment settings.
This is easy to correct, we’ll change the Shader on our new Skybox material to “Skybox/Procedural” which is similar to what was automatically added, only now we can make adjustments to it.
The Lighting window
The Lighting window (menu: Window > Rendering > Lighting) is the main control point for Unity's lighting features. You…
I’m going to leave the lighting as is for now, but you can visit the link above for Unity’s documentation on all of the various lighting settings you can play with.
Spicing up our Skybox with the Unity Asset Store
Sci-Fi Space Skybox Pack -1 | 2D Sky | Unity Asset Store
Elevate your workflow with the Sci-Fi Space Skybox Pack -1 asset from Swan Animations. Browse more 2D Textures &…
Sci-Fi Space Skybox Pack -3 | 2D Sky | Unity Asset Store
Elevate your workflow with the Sci-Fi Space Skybox Pack -3 asset from Swan Animations. Browse more 2D Textures &…
Space & Nebula Skyboxes | 2D Sky | Unity Asset Store
Elevate your workflow with the Space & Nebula Skyboxes asset from Methexis Studios. Browse more 2D Textures & Materials…
8k Nebulas | 10 Maps | 2D Sky | Unity Asset Store
Elevate your workflow with the 8k Nebulas | 10 Maps asset from ProAssets. Browse more 2D Textures & Materials on the…
I actually have an embarrassing amount of skyboxes, especially space themed, so why not put them to good use?
I added the four asset packages above to my project, making sure only to import the skyboxes, materials, and not any scenes or ships or planets.
Once I’ve settled on a few that I like, I’ll remove all of the unnecessary skyboxes and related assets to those to decrease my project file size.
I made sure to move all of the various asset folders into my Skyboxes folder for organizational purposes.
Skybox examples and their effect on the Scene
As you can see, the coloring of the skybox really does have quite the effect on our scene even though most of the light reaching our scene is indirect due to the ceilings.
Still, it adds mood and feel and could be further used in the future by adding more windows to our scene.
It’s clear that I’ll need some interior lighting for many of these skyboxes as the indirect lighting creates a dark scene.
A great side benefit to these pictures I took for this article is that I can view them quickly in file explorer with preview and make design choices.
On a related note, I have 3 monitors to my pc that I’ve acquired over the last 10 years.
My newest, 1440p with near 100% dci-p3, IPS panel really brings the colors to life.
This is an LG 27GL850, which has been replaced by LG with the newer LG 27GP850.
My most recently purchased monitor, geared towards high fps gaming, is the 360hz Alienware AW2521H 1080p monitor.
It has 99% sRGB coverage which is actually under par these days for 1080p gaming monitors but no doubt a sacrifice to make 360hz a reality.
100%sRGB is much a much lower color gamut than DCI-P3, and while not directly equivalent, I believe 100% DCI-P3 is akin to 150% or more sRGB, but a simple google search will give you a more accurate number.
Lastly, I have an old 1080p, 144hz TN panel from BenQ, that is probably a decade old.
No idea on the color coverage but it definitely has a yellowish tint to it compared to the other two.
My long-winded point is, your players wont see exactly what you see unless they have the exact same monitor.
While its very satisfying seeing it on my LG high-color gamut monitor, and that is the one I would use for my reference / base design decisions of a game, note that most players will be on something nearer to the Alienware or even slightly better color coverage.
It never hurts to make design choices that look great at both the top of the spectrum and the average of the spectrum.
Most players won’t be running a 10 year old TN panel, but it makes for great screen real estate as I’m currently using it to type this article up in Microsoft word.
It’s also handy for keeping windows file explorer windows of my project or related folders open and easy to access.
I kind of fell down a somewhat relevant rabbit hole there, but now back to the topic at hand!
So which skybox did I go with?
I went with the Sci-fi Space Skybox pack 1, SF_01_02.
Which surprised me…
I thought I’d choose something with a red, purple, or blue contrasting color to our already VERY yellow scene.
But seeing that golden shine on one of the Test tubes sucked me in.
I changed my intensity multiplier from 1 to 1.25 so that the indirect light would have a greater effect, but interior lighting will still be needed.
I deleted all of the other imported skyboxes, wildly reducing the file size of my project.
With that done, I’d say our URP installation is done.
I’ll commit the changes to github to lock in my progress.
In the next article, we’ll cover additional lighting.