Tutorials @ chrisholden.net

 UDK Documentation: Setup<

 Package & Naming Structure
When launching UDK, we get three windows, the editor, the Start Page and the Startup Tip. I usually deactivate the Startup Tip, but if you're new to Unreal then some of these will prove useful.

In the Start Page window, if you click on the first tab called Content Browser, this will take you where all of Unreal's assets such as models, textures, materials, particles and so on, and where your imported files will be.

Right click in the gray area of the content browser to bring up the Import or New Everything menu. From here, it's clear all the new content you can make. At the bottom of Packages you can click New or Import for the same menu.

For a quick example, click New Material. This brings up a window you'll see each time you import or make a new object. For now, all we need to worry about is the Package, Group and Name.

The Package name should reflect the project. So if you're working on one level the package name could be similar to that. However you plan your naming convention is up to you, just never leave it as the default name "MyPackage". For this example I called it "MyAwesomeGame".

Group name refers to all the assets that should be associated together within a package. For example, you might want all of the game's character assets grouped. For this example, I'm making a New Material, so I'm going to call this group Parent_Materials. Setting up groups within a package is great for organization.

The Name field is reserved for the actual name of the asset. When you import, for example, a model or texture the name should automatically be the same as the name of the file imported. I'm going to call this Parent_Temp01. Hit OK, and this will bring up the Material Editor. The material itself isn't what's important right now so close this, and look back at the Content Browser.

You will now see at the bottom of Packages the package you just name with the group and material inside that group.

Save this package, and that's how you create a new package. From here this is where you'll be adding everything.

 Naming Conventions
Naming Conventions refers to the how and why all your assets are named the way they are. This is mainly about organizing your work.

For example, you're starting an environment and your name a texture "brick". What starts to happen when you have 30+ brick textures some from all sorts of different environments? Then, toss that in with all the other assets that have no naming distinction between models, sounds, particles, and so on. You end up spending more development time trying to find assets then actually using them.

Think about prefixes and suffixes to explain what a file is. Let's add a T_ to the front so everyone knows that's a brick texture, then a City_ so other artists know it's from the City set, then a better numbering scheme such as _01 which will allow you to have 01-99 and still keep them in a proper alphabetical order. If you need more, add another 0, so you can have 001-999. if you really have over 1000 city brick textures, then wow.

So that looks like: T_City_Brick_01

Now, in an alphabetical list, that will appear with all the textures, organized neatly withing the city section. Continuing this with all other various types of assets, there will never be a sound file mixed with particles, textures lost in materials, and so on.

Here's an example package I setup. It shows all the assets from my Old Town set with groups setup. Since this is a single level set, I was able to group my objects in this manner. A larger project would need to invest more thought into it's grouping and naming conventions. All of my content thumbnails are clearly separated thanks to the way they were named. My particles all begin with Particle_, proc buildings stat with Proc_ and static meshes beginning with SM_. They also have Building01_ which reflects they are for the first building proc keeping them neatly organized from the prop static meshes.

In the end, the way you choose to name your assets is up to you or your project leader. My examples aren't anything set in stone, just some easy to understand samples.

The scope of your naming convention may not be visible at first. Luckily, you can right click any object and "Move/Rename" it.


Tutorials @ chrisholden.net