Importing Unity’s Free Third Person Character Controller into Unity 2021 URP
In this article, I just want to briefly cover the process I use to import this useful free asset from Unity.
Instead of laying out the process in every article from here on out, I’ll just point to this article.
The first you’ll need to do is login to your Unity Asset Store account and grab the asset itself.
Once you’ve done that, you’ll be able to find it in the Package Manager window within the Unity Editor itself.
Open the Package Manager in Unity with “Packages: My Assets” selected.
If like me, you have more assets than you probably should, just hit the search bar with “third” and that should get you in the neighborhood.
Select the package and click the Import button.
If you intend to test or publish this to mobile you’ll want to also select the mobile section.
As I am usually doing prototypes or projects for articles, this is rarely the case.
I’m also uploading to either play.Unity.com or itch.io often and these websites limit the total file size of my project to around 200MB — 250MB.
The mobile section includes around 25MB of textures I don’t need that can push me over those limits!
Most of the time you will get this pop-up dialog as the default input system is normally set to the old system in the Player Settings.
Click yes and Unity Editor will most likely restart.
If you are afraid you might lose your work, click no and save your project.
Then go to Edit > Project Settings > Player > Other Settings > Configuration > Active Input Handling and select “Both”.
If like me, you did not import the Mobile sections of the package, you’ll see a couple errors as shown above.
Drag the “NestedParentArmature_Unpack” prefab into your Hierarchy window.
Break the prefab by right clicking on it and selecting Prefab > Unpack Completely.
Now delete the bottom to UI prefabs which refer to missing mobile files.
Go ahead and create a new prefab.
In a URP project, we’ll also need to upgrade the materials.
Navigate to the 3 materials shown above in your hierarchy and select all 3.
Go to Edit > Rendering > Materials > Convert Selected Built-in Materials to URP.
Click “Proceed” for the pop-up dialog.
If you hit play, you’ll probably get a warning that there are 2 audio listeners in the scene.
That’s because a default scene adds a Main Camera and our third-person player prefab also has a Main Camera.
I want make use of the Main Camera on the prefab, so I’ll delete the original Main Camera from the scene.
The Third Person package is actually dependent on another package, Cinemachine for its Main Camera.
Note that there is a PlayerFollowCamera, which is a Virtual Camera.
With Cinemachine, we can only have 1 Main Camera, but infinite Virtual Cameras so do not delete this virtual camera.
If you’re unsure if Cinemachine is installed, go back to the Package Manager window.
WARNING: Do not use the Cinemachine Package under “Packages: My Assets” as this outdated.
Since Unity purchased Cinemachine and integrated it into their Editor, you can now find it under “Packages: Unity Registry”.
Make sure you use this version of Cinemachine for Unity 2021 URP.
There is an issue with Unity 2021.3.7 and above with Input System versions above 1.3 that is generating exceptions.
If you encounter this issue, people are reporting that Unity 2021.3.6 with Input System version 1.3 is stable and working without these exceptions.