CG Pipeline: A Proposal For Your File Hierarchy

File storage is still a big issue for any CG production. The many softwares involved lead to a constellation of files in which it’s hard to…

4 years ago   •   3 min read

By Frank Rousseau

File storage is still a big issue for any CG production. The many softwares involved lead to a constellation of files in which it’s hard to find his way.

In a perfect world, you would use a dedicated datatabase where files can be queried, accessed and stored through their metadata. Unfortunately, most studios cannot afford to set up this kind of solution. The simplest alternative is to rely on a classic file system. But to avoid any confusion, it’s mandatory to enforce a file system structure. This is what we propose to discuss in this blog post.

Note that all our paths are written in lowercase, without special chars or space. These rules allow to maximize readiness and compatibility with software and tools.

The Root folder

Your root folder name should be very explicit composed of productions folder and the name of the production:productions/big_buck_bunny

The state folders

Before describing our content We need one folder for the working files and one for the published filesproductions/big_buck_bunny/working

The type folders

In your production you will mainly build assets and shots. So let’s separate clearly these two concepts:productions/big_buck_bunny/working/assets

The asset folders

To fold properly your assets, we propose you to make folders by asset categories. Then each asset should have its distinct folder. Finally we think, it’s better to have a directory for the main steps of the asset building. Don’t be too specific or you will end with miriads of

The shot folders

The folders should describe the shot hierarchy (episode/chapter, sequence and shot). Then for each shots we store the files in folder describing the main steps of the shot

If you don’t have episode or chapter you can skip the ep001 folder.

The main issue here is sometimes you have to deal with animation running on several shots. We recommend to use either symbolic links or to work only on the first shot concerned by the animation.

The asset in a shot folders

It happens that variants of assets must be done for a specific shot or that animation is built separately for each asset. In that case, we create an assets folder inside the shot folder. In that folder, we’ll create a folder per asset. No need to add a folder for the asset

File naming

It’s better to transcript all the information in the file name too. In some software only the file name is displayed in the window title. So, it’s better to make it explicit.asset: big_buck_bunny_assets_characters_rabbit_modeling.max
shot: big_buck_bunny_ep001_se001_sh001_animation.maxasset in shot: big_buck_bunny_ep001_se001_sh001_rabbit_animation.max

Departments and specific file hierarchy

Some departments may have different ways to deal with files. It can be a good idea to have a different file hierarchy for each department. In that case, make sure to document it properly.

Final words

That’s it! With this simple file hierarchy you should be able to store properly all your files. Which means less headache and less stress for your next productions.

Enforcing a file structure can leads to file duplication and sometimes more process for your CG artists. You shouldn’t be scared of that. The file structure is part of the communication between people. And in a project good communication is what matters the most. So it’s better to accept minor drawbacks. You will gain much more in efficiency when looking for the right files.

Even better, it will allow you to develop tools that will be able to work automatically on your file system. Pipeline tooling is mandatory to scale your studio. In later blog posts we’ll give you ideas on what to build and how to make it.

Writing mainly about production management and pipeline doesn’t mean we don’t enjoy looking at beautiful pictures too. If you would like broader topics and curated content about the CG industry in general, you can follow us on Twitter!

Spread the word