Whatever version of Unity you’re using, remember to always import the asset in an empty project, so that the engine’s project settings get properly imported.
This asset relies on a few Unity packages to function. On import this will very likely cause errors, that’s normal, and easily fixed. It’s all explained on this page.
Importing the asset
To import the asset, follow these steps :
- Create a new project from Unity Hub, pick Unity 2019.1 as your Unity version, and 3D as the Template
- Go to the Asset Store window and import the project (it has to be in an empty project, not an existing one)
- On import you’ll get errors referencing Cinemachine and PostProcessing, that’s normal, don’t panic, keep reading :)
Recent versions of the engine
On install you’ll likely get a number of errors, that’s absolutely normal. All you need to do to fix them is, from your file explorer (not from Unity) copy the manifest.json file, located at the root of the TopDown Engine folder, and paste it into your project’s Packages folder, replacing the one that is already there. You may have to restart Unity and/or reimport your packages folder, but most of the time it just works out of the box.
Unity versions not yet supported by the engine
Updates for the TopDown Engine usually support the latest version of Unity, but sometimes they lag behind a bit. If you’re importing the asset in a freshly released Unity version, chances are the manifest won’t be compatible. In that case, follow the instructions below.
Manual package management (LWRP, HDRP, new Unity versions)
While replacing the manifest is the easiest and fastest way to go about getting the asset to work, this may cause some issues if you want finer control over what packages your project uses, such as LWRP or HDRP. In that case, it’s recommended to install all the asset’s dependencies manually. There are only 3 packages needed for the asset to work : Cinemachine, 2D Pixel Perfect, and the PostProcessing stack.
If you prefer manually installing packages, don’t override the manifest.json, but instead open it. It contains the exact version numbers you need to install for these 3 dependencies. Then go to Window > Package Manager, and install the exact same versions of Cinemachine, 2D Pixel Perfect and PostProcessing as specified in the manifest. Some of these may not be compatible with a brand new release of Unity, in which case you should probably either pick a more recent version of the package, or safely wait until the next TopDown Engine update.
Unity 2018.3 or less
If you’ve imported the asset in a blank project, the Engine should automatically handle that for you, and install the required dependencies.
If despite that, you still get errors mentioning Cinemachine or PostProcessing, you can download the asset’s project settings and Package manifest here. Quit Unity, download these files, and extract them in your project. The manifest.json file must go into your_project/Packages, and the ProjectSettings.asset file must go into ProjectSettings. Once you’ve replaced these two files, open Unity again, all should be good.
And if all that fails, please use the support email and provide some info about what you did so far, and what happened, I’ll be happy to help you.
But why all these errors?
A bit of info about why this may happen : Unity allows (for now) an asset on the Asset Store to upload its Project Settings folder (which includes input, quality, etc), but not the Packages’ manifest.json, which describes what packages the asset uses (such as, in this case, PostProcessing and Cincemachine). Hopefully that will change in the near future. In the meantime, please try the steps above if you run into issues.
The camera zoom is too high
It seems like when an issue happens at import on 2018.3 or less, some settings get lost. It’s nothing to worry about. In the 2D scenes, you’ll want to make sure the Pixel Perfect Camera component on the MainCamera has its Assets Pixels Per Unit value set to 16, and the virtual camera an orthographic size of 6.9. For 3D scenes, you’ll want to select the virtual camera (usually named CM vcam1) and set its field of view value to 40 using the slider in its inspector.