Unity Project Settings

Getting started on a project can be tough, especially if it’s your first one. One thing I can help with is laying out some of the basic initial project settings that I’ve found contribute to making a good foundation for a Unity production environment.

These are settings that help with both large and small teams and will contribute to getting your files setup in a way that will make things easier to troubleshoot and, if you are a small team, get you positioned correctly to expand or work with contractors in the future.

1. Use “Visible Meta Files”

Found in the Edit -> Project Settings -> Editor window

While this was created to help with version control on larger teams, it can also help you debug and troubleshoot any issues you will have in production.

The Meta Files are the Unity project settings for every asset in your project. It contains: Unique Identifiers (GUIDS) for that asset Links to other files Texture compression settings Bones in an animation file And much more

Unity uses these files as an instruction set for what and how it should be treating its assigned file. The Meta Files are named the same as the Asset File with the addition of a “.meta” extension tacked on to the end. This naming convention makes them easy to find in case they need debugging later on.

Meta Files are text files, so they are also easy to read for when you need to start digging around in them.

The option is functionally the same as selecting “Perforce” or “PlasticSCM” from this menu, with the added ability for Unity to manage the Source Control project within the Editor. I highly recommend you let Unity manage your files if you are using one of these packages.

2. “Force Text” Asset Serialization

Found in the Edit -> Project Settings -> Editor window

Forcing a human readable text on files has been a lifesaver for me on every one of my projects. Much like I mentioned about my Maya and FBX in my pipeline post this will force Unity to write all of its file formats into text. This makes them easily human readable and human-debuggable if the time comes.

If you are using source control, (which you should be) this will make it possible for your source control software to track the differences between file versions, allowing you and your team to validate versions of files if something goes wrong in them.

3.FBX Import Settings

My history with these is a mixed bag, but the way I deal with these options depends on what phase the project is in.

My default behavior is to set an asset post processing script up that turns off anything I don’t want, or need, in the model files. However, at the beginning of a project you may not know what the perfect settings are for your project yet, and enforcing settings on all team members can impede progress as they fiddle with things to make the art look good.

Infancy (Pre-production\First Half of Production) – If you are lucky you will have a talented artist or two in there monkeying with settings and art styles for your project in the pre-production phase. In this stage, I like to leave the default settings mostly off, but keep my ear to the ground with the artists so I can act quickly to change the asset manager to meet their needs.

Adulting phase (Optimization\Hardening) – This is the most frustrating phase of the project, as it is when artists have to come to terms with decisions they have made on art quality. Usually things like, “half-res all the textures” or “Compress all the animations” to fit on whatever the target platform is. No, I’m not bitter….

This Phase is where I start to lock things down. Production should be in full swing at this point, and there should be standards and processes in place to get art into the game, so it’s time to start turning on some of the compression options to make it all fit. These decisions are based on the performance of the game. Every game and every platform I’ve worked on is different.

These are the default FBX model import settings:

Here is the typical configuration I start the project off with, managed by the AssetPostprocessor. I typically don’t have to enable these options except for special circumstances for the project. …

Read\Write Enable: Off …-…-(Only need this on meshes that you need to be able to edit or modify at runtime. Keeping this on will store another version of the mesh in memory and bloat your application) …

Import BlendShapes: Off

-…-(Only useful if your FBX files have Blendshapes) …

Swap UVs: Off – (I have not been able to find a use for this at all) …

Import Materials: Off

-(Has a tendency to clutter the project with useless materials. Most materials on my projects are created directly within Unity. I have had little use for keeping my Materials from the exported files.)

Do you have project settings you always enable\disable on the beginning of a project?

Let me know in the comments what they are and if I should add them to this list!


Published by Adam Kelsey-Giddings

I am a game industry Technical Artist of about 12 or so years. My primary focus has been to create tools and workflows to improve artists ability to create the things they love. Whether it be a process to visualize their work in-game, or a way to limit the amount of time it takes to get their art from one place to another.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: