Unity 3D Best Practices
Unity 3D & C#
Unity3D is a powerful suite of tools (Project IDE, Code IDE, run-time) for game development.
As always, RivelloMultimediaConsulting.com/unity/ will be the central location for deep articles and tutorials, Facebook.com/RivelloMultimediaConsulting (like us!) will engage the growing RMC+Unity community, and for the latest opinions and cool links follow me at Twitter.com/srivello.
There is incredible momentum in the Unity3D product and its community.I recently posted “The Best C# Code Naming Conventions” and wanted to expand the discussion on best practices in this post below.
NOTE: I’m still working on this post, but wanted to get feedback on just the parts below. Drop a comment below.
Best Practices
Folder Organization
I created a custom menu option to create default folders.
I add these folders to a new project (or existing) when it is first created. I put 3rd party packages into the ‘Community Assets’. The ‘Standard Assets’ folder is of course where Unity puts its own packages. I then rename the ‘[Project Name]’ folder to match my current project. Any suggestions?
What Do YOU Think?
Have a comment? Please post below. This is a hot topic and I’ll respond promptly over the next month.
Unity3D & C# Training
There are MANY best practices included in my free, HD Video training series on “Unity3D & C#“. Check it out!
Why start with so many unneeded folders?
Good question. I’m admittedly a champion of standardization. Such organization is not for everyone. I understand that. In this case I love the setup described above because…
1. This is the best way to create consistency across my projects and between my teams and team members. Consistency means less time to create the structure and less time to understand/find the location of things
2. I have custom button in my Unity menu to ‘Create All Folders’. So its actually faster than manually creating folders.
3. There was (or still is?) a bug when you create an Asset Store package and update it. You cannot modify the original folder structure from your very first commit. Using a system above ensures the files are organized from the beginning.
Good question. First, it is for consistency. It is most easy for teams to establish a consistent location for files if we start with those locations (folders) from the beginning. You could certainly add them as-you-go if you prefer, but I feel that is more prone to error. The downside to have ‘unneeded’ folders is small IMHO. Thanks for the question.
I just want to mention I am begnnier to blogging and site-building and definitely liked your web site. Almost certainly I’m going to bookmark your site . You amazingly come with really good well written articles. Thanks for sharing with us your web page.
How do you create a custom menu option as shown in your folder organization example?
I would say instead of ‘[Project Name]’ we can use a generic name, so it would be consistent among all our project. Just like ‘Standard Assets’ that is always the same name, we can use something like ‘Our Assets’. I think putting the name of the project doesn’t make sense, because the game is made of the those 3 Asset folders and not just that single Asset folder.
In my solution above, I would manually rename ‘[Project Name]’ to something project specific like ‘SuperSpiderAttackGame’, as the first step. A permanent generic name as you suggest is another option too of course!
Thanks very useful. Will share site with my pals
NBA 2K17 http://sn.cgacc.mezun.com/blogs/1572/5342/nhl-coins-may-the-wings-lift-the
You’ve the best web pages
FIFA 17 http://www.edutorium.org/pages/view/360192/nhl-hut-coins-the-best-national-baseball-league-clubs-by-decade
Hey, great website you possess there
pokemon go http://ycsjmx.com/comment/html/index.php?page=1&id=115256
Keep up the exceptional work !! Lovin’ it!
madden 17 http://www.polypackaging.lk/?option=com_k2&view=itemlist&task=user&id=489909
say thanks to so a lota lot for your website it assists a whole lot
pokemon go http://vrdeveloperforum.com/index.php?action=profile;u=43365
Wow because this is great work! Congrats and keep it up
FIFA 17 http://derserver.eu/index.php/component/k2/itemlist/user/11462
Wow, beautiful site. Thnx ..
fifa 17 coins http://nfl-mobile-coins.onsugar.com/Madden-17-Acquire-Fresh-Equipment-42221228
Passion the site– extremely user pleasant and whole lots to see!
nhl 17 coins http://forum.azpoint.net/viewtopic.php?f=9&t=734038
Wow, lovely website. Thnx ..
madden 17 coins http://electricautoclassifieds.com/noah/item/2917
Keep up the excellent job !! Lovin’ it!
fifa 17 coins http://firststrikepro.com/forums/Main-Forum/1271/buy-nba-2k17-mt-ufc-2009-undeniable-videogame-review
Surprisingly individual pleasant site. Enormous info offered on couple of gos to
madden 17 coins http://www.totalminecraft.com/node/2401
You have got among the finest webpages
nhl 17 coins http://jompesh.com/forums/topic/954/fifa-17-coins-for-sale-ncaa-football-2010-player/view/post_id/1255
Somebody essentially help to make seriously articles I would state. This is the very first time I frequented your website page and thus far? I surprised with the research you made to make this particular publish extraordinary. Excellent job!
Hi there I am so happy I found your blog, I really found you by error, while I was browsing on Askjeeve for something else, Anyways I am here now and would just like to say thanks for a remarkable post and a all round entertaining blog (I also love the theme/design), I donít have time to look over it all at the minute but I have bookmarked it and also added in your RSS feeds, so when I have time I will be back to read more, Please do keep up the excellent job.
I really like your blog.. very nice colors & theme. Did you create this website yourself or did you hire someone to do it for you? Plz respond as I’m looking to design my own blog and would like to find out where u got this from. thanks
I have been reading out many of your posts and i can state clever stuff. I will make sure to bookmark your blog.
“Standard Assets” and “Resources” have to be in the root Assets folder. Also, you should put an underscore at the beginning of the file name of your project. This separates it from assets you download or system folders in the root.