Important Notice:

As of September 15, 2016, we no longer publish new courses on this website. We encourage you to use your Digital-Tutors credentials to sign in on Pluralsight where you'll find all new creative courses, skill tests and paths, 1:1 mentoring and more.
File management and project organization
See Details
Joshua Kinney


Joshua Kinney
In this tutorial, we're going to learn how to properly export and import assets, and how to begin organizing our project. So to get started inside of 3ds Max, you can really use any 3D software packages that you want for your Unity game projects. This is just to give you a little bit of insight on some things that you want to watch out for before you export your models into Unity. The first thing is to get some sort of convention on your scale. Now, a Unity scale is arbitrary. You could use really any scale that you want to, because whenever you bring an object into Unity, you can actually scale that up however you see fit. So normally what I do is I model with 3ds Max's generic units. So everything is set to 1.0. Now, things like gravity and physics inside of Unity, everything is set to meters. But it's really not that big of a deal whenever you're modeling. So if you're comfortable with modeling in meters, you could do so. But like I said, whenever you bring it in, you'll notice that you can scale it up however you need to. So get some sort of convention. If you're going to use meters, make sure you use meters across the board with all of your models. If you're going to use generic units like I do, make sure you use generic units across the board. So the second thing that we need to pay attention to whenever we have our models finished is to pay attention to the pivot point itself. First off, where is it located? So on this floor object, you could see that the pivot point is located directly in the center. And this is going to be best for us, because we can rotate it around however we see fit. Same thing for our walls. The wall itself is centered on zero, zero. So you can see that my axis is set to zero, zero. And you'll notice that it is up in the z direction a little bit here. Let me go ahead and switch this to View, so that way we can see that that is up in the z there. But it's centered in the wall itself. This is going to help for scaling and rotating and things like that. But you'll notice that my ceiling is set at zero, zero, zero all the way across. So the model itself is offset from the pivot point. This is OK, because the ceiling is going to be at a certain distance. And the reason that this is set that way is so that way, I know exactly the height that is needed to meet right at the top of this wall here. So now that I have these situated and ready to export, I need to take one more look at my pivot point, because the orientation of your pivot is extremely important. Now inside of 3ds Max, we all know that z is up, where in something like Maya, y is up. Now, in Unity, it recognizes as y is up. So we need to make sure that we are matching that here inside of 3ds Max. So before you export, make sure you select your objects, switch the Move tool to local, so that way, you can see that orientation. And as you can see here, z is still up. So if I go to the Hierarchy panel and then Affect Pivot Only, I can rotate that 90 degrees where y is up. And now I have my Angle Snap on to make sure that that is 90 degrees up. Let's do the same thing for this object, and then also our ceiling. We'll turn off that Affect Pivot Only. If we go to our Move tool, we can see that y is up on all of these. So now what we have done this, let's go ahead and select our objects and export into Unity. So I'm going to go ahead and go to File, and then Export Selected. And I'm going to use the mineshaft floor. Let's save this. I'm going to go ahead and overwrite that file. And inside of your FBX export dialog box, you want to go ahead and make sure that a few things are checked here. If you are exporting just general objects, whether they have animation or not, this is a good setting to go with. So Turbo Smooth, if it's needed, Convert Deforming Dummies to Bones, and then Preserve Edge Orientation. Really, at this point, with this object, the only thing that I really need is going to be that Preserve Edge Orientation. If you have animations, you want to make sure that this is checked, so that way it recognizes those key frames. We don't need cameras or lights. And we do not want Embed Media. So if you have textures and things like that, you do not want to embed those, because that is right on the model itself. And it also makes the file size a little bit heavier. So I always turn that off, and I hook up my materials manually inside Unity. Now, the next thing that you want to pay attention to is going to be the units that are being used. Usually I like to set everything at a 1.0 scale factor. So that means that our scene units are converted to centimeters. Now also, the axis conversion-- this is something that's a little confusing. Whenever we export this out into Unity, it does not matter if you use z up or y up. As long as we have converted the axis inside of the scene, this doesn't matter. We're going to go ahead and use the FBX 2013 Importer. And we're going to hit OK. Now, one thing that I want to mention to you is there is another way of getting your 3D models into Unity. And that is actually importing the .max file itself. Now, importing the .max file is a great way for quickly changing the look of models as needed. So it kind of speeds up the pipeline, because what I can do is once I've imported in the .max file, I can go to that original file, make changes, and it will automatically update inside of Unity. Now, the problem with that is if you create a model inside of 3ds Max 2013 and someone else wants to use that mesh inside of Unity or import that mesh inside of Unity, it will not import, because they may not have the exact version number that you had when you created the model inside of 3ds Max. So this could pose some issues. So it's always safe to go ahead and just export everything as FBX. So that way, there are no issues in the pipeline. So I've exported out the floor. Let's go ahead and do the walls. So let's go ahead and mineshaft wall. And I'm going to keep those settings that we had last time. And we'll do one more export, export selected, and ceiling. So those have all been exported out as FBX files. Let's go into Unity, and let's import those files into our project. Now, whenever I import files like meshes, I normally create a new folder to organize everything. So this folder is going to be called Imported Assets. And I normally don't like spaces in between those names, so I'm going to go ahead and keep those together. And inside of our Imported Assets folder, let's go ahead and right click. And let's create another folder inside of there, and let's call this Meshes. And then inside of our Meshes, we're going to right click and Import New Asset. Let's go ahead and bring in our mineshaft ceiling. And we'll import that. Now, it can be a little cumbersome going one by one, importing objects into the scene. You could open up your browser and drag and drop these into the scene multiples at a time. Now, be careful, because it could take a little bit longer, because it's trying to load all of those at the same time. So let's go ahead and drop in our floor. And then let's drop in our wall. Now, I was talking about dragging and dropping in files right into Unity from your browser. That is OK. However, organizing or renaming files in your browser is not a good thing, because it will break the link between files and could create a lot of issues. So make sure that if you're renaming or organizing your projects, do it right here inside of Unity. So now that we have our meshes inside of here, let's go ahead and set up our FBX import files. So we have our ceiling here. Let's set up our scale factor. I'm going to set this to 0.1, because at 0.01, it's going to come in very, very small. I also like to turn off my Import Materials, because it implies that there's one gray material to it. And normally, I like to have everything set up on my own. So I like to manually do that. So let's go to 0.1, turn off Import Materials, and Apply. And let's use this final one here, 0.1, and import a set of materials, and hit Apply. So now I can bring these into Unity. You could see this mesh here has been brought in. And I could bring in the floor, and then also bring in the wall. The wall you're going to notice is backwards here. And we can rotate these and put these into position however we see fit. So now that we have talked about bringing in meshes and importing files and things like that, let's go ahead and take what we've just imported, and we're going to create some prefabs to make our level construction go a little bit faster for our game. So I'll see you then.
In this series of Unity tutorials we are going to learn about the core features in Unity.

We will start out by learning the Unity Interface where we'll talk about the different panels and tools available in the Unity editor. From there we'll learn how to properly export and import assets into Unity. With those assets imported, we'll discuss how to create prefabs that will help us speed up the construction process of our level.

Then we'll learn how to create and apply materials to our level prefabs. Then we'll take our textured prefabs and build a simple game environment. Once the base level has been built, we will talk about adding props and set dressing our level. From there we'll continue full speed by learning how to add lights, particles, and physics objects.

Once we're happy with our level, we'll jump into scripting in Unity. We'll learn how to create a random player spawn, a HUD, item pickups, and so much more. Finally, we'll end the course with how to publish our game to the platform of our choosing.

For an additional learning resource, download your free copy of our Key Game Development Terms Reference Guide and PDF so you can get comfortable with important game dev terminology.