Monday, March 7, 2016

Unity Project Organization Part One: N+1 Different Answers

I believe there are two topics at the root of a discussion of Unity project structures.  These are:  file organization and game (code) organisation.

Note that this is all simply my opinion, mostly based on a slow evolution through several projects.  That, and many years of general software development practice.

You'll find as many opinions on this are there are people offering them (someone posted on the Unity forums that "If n people reply to this thread, you're going to get at least n+1 different answers. ;-)").  As an aside, here is a decent article that has some opinions on the subject:  50 Tips for Working with Unity (Best Practices).

Anyway, like I said, I want to break this down into two main topics.

Physical and Logical


The first is the matter of how the physical folders and files are organized in your project directory.  It's worth noting that, for the most part, this has little to do with how your project compiles and runs.  With the exceptions of a few special folders (Resources, Plugins, etc), folders are just folders.  Theoretically you could just lump every script, model and texture in one directory and not worry about it.  That would be a bad idea.


The second is the logical layout of the program. This is the structure of classes and namespaces that you use.  I'm not talking about the project file structure (auto-created by MonoDevelop or Visual Studio), but rather the logical structure of the game (where is player information stored?  High scores?  Level information?  Enemy definitions, etc.).

Both of these structures are important, and getting them muddled can cause a great deal of confusion when a project becomes complex.  Hopefully this will help anyone reading it to think about how they want to handle these issues.

Thus, on to Part Two:  Physical


  1. It is not easy to get a company specialized and specialized for the process of cleaning and pest control and transfer of clothes and other services. Our company is a pioneer in this field and make our home sophisticated and beautiful, where we have a company of Filipino workers and others are distinguished and a great degree of efficiency and experience and the company Shorouk corner has the best equipment and its events Which make the company ahead of others and make the house matters of cleaning or combat or transfer is easy and sophisticated in the work Dear customer wish you to speed up us and request the service you want and will reach you a team on a large degree of excellence and experience and speed in the work Contact us and do not hesitate to receive Inma you
    شركة تسليك مجاري بابها
    شركة مكافحة حشرات بابها
    شركة نقل عفش بابها

    شركة تنظيف خزانات بابها