- Home /
Documenting Unity classes/ components/ system
Hi, as per ususal I have spent more tim ein the code than at the drawing board designing it. I am growing my appreciation for a pre-development strategy/design and ongoing documentation but , I need to docuement and reverse engineer the structure i guess.
MY question though is.... can someboody show me a successful or succinct class design (UML preferably) - typifying unity class designs, or component oriented designs (as i belive Unity is coined as Componet oriented, as opposed to Object Oriented in the strictest sense, though C# helps enforce that a little etc )
Thanks in advance , as I get such great help from people on here ! Gruffy
Answer by TonyLi · Aug 16, 2013 at 02:16 PM
I strongly recommend:
XML comments +
Doxygen +
Graphviz
It may seem a little complicated to set up at first, but it will save you HUGE time in the long run, and really it's not even that complicated to set up.
First, the MonoDevelop/Visual Studio editor will help you out a lot. In front of any item (class, variable, method, etc), just type "///". The editor will fill in an XML template and attempt to auto-document the item. You can adjust the comments however you want.
Next, install Doxygen and Jacob Pennock's Doxygen Unity integration. In that link, he also posted a video of how to set it up and use it. Even if you haven't added the XML comments in the step above, Doxygen will still generate some decent documentation.
Finally, install Graphviz. In the Doxygen configuration file (Doxyfile), set "HAVE_DOT = YES". This will allow Doxygen to automatically create UML-like inheritance diagrams.
Once you have this set up, one button will generate your entire documentation. For an example of the kind of output this will give you, you can browse through NGUI's documentation: http://www.tasharen.com/ngui/docs/
Thanks TonyLi, that`s the most succinct answer i have ever seen . Sorry I haven`t got back sooner, I only just returned. i cant thank you enough for that guide and after i write this, i`m off to set it up !! Cheers bud - Another amazing bit o help from Unity Answer`s army of code/design centurions. Just amazing - thanks for basically showing me the door to save my butt! Gruffy :)
Hey Tony LI. Just on the off chance you wouldnt happen to know why changin that value to yes gave me error code 1 in doxygen and no longer provided simple hierarchy drawings
Other than the format is lovely and it looks nicely presented Brilliant piece of advice and excellent documenter thakns for reading Gruffy :)
Hey Tony LI. Just on the off chance you wouldnt happen to know why changin that value to yes gave me error code 1 in doxygen and no longer provided simple hierarchy drawings.
Hmm, maybe it's not finding Graphviz dot. Is it in your system environment's path? Here's the help page on using Graphviz with Doxygen: http://www.stack.nl/~dimitri/doxygen/manual/diagrams.html
Your answer
Follow this Question
Related Questions
Tetris Unity game structure C# 3 Answers
OO Design | Specific example 2 Answers
Abilities design class in a clasic RPG 1 Answer
How to structure code for squad selection and movement 0 Answers
Where to put debug methods and variables 0 Answers