m
Loader image
Loader image
Back to Top

Unity Automatic Documentation Generation (An Editor Plugin)

Unity Automatic Documentation Generation (An Editor Plugin)

This is my Unity plugin for Doxygen. It allows you to generate documentation for all your C# scripts from within the Unity editor very easily. Check out the video, it pretty much explains it all. You can download it here.

Share

31 Comments

  • Daniele
    May 29, 2012 at 3:26 pm

    Jacob I just discovered your blog (while looking for ways to integrate Sublime Text and Unity) and your topics are incredibly fascinating. I hope you’ll get back to write more, though in the meantime I have all your “old” stuff to read.

    You got all my admiration 🙂

    Daniele

    • Daniele
      May 29, 2012 at 3:28 pm

      P.S. and I forgot to mention that this Doxygen plugin is awesome.

  • michael
    August 7, 2012 at 4:19 pm

    Is there any easy way to move all of the package assets into a subfolder and have it still work? (I like put external stuff in a Plugins folder)

  • Jos
    September 4, 2012 at 10:14 pm

    Hi Jacob,

    Thanks for this amazing plugin, it works great! I have one question though: The generated documentation is not including all of my classes, particularly, the ones that I have in nested folders. I’ve checked the doxygen config file and the RECURSIVE tag is set to YES. I used the same config file directly on doxygen (with the wizard and also using the console) and I’m still only getting documentation for the files that are directly on my root folder, but not the ones on nested folders. Do you have any idea why this could happen?

    Thanks in advance.

  • Gavalakis Vaggelis
    April 3, 2013 at 8:12 am

    Hi. Your plugin looks great.
    You mentioned in the Unity Answers that it can be used with UnityScript if I set the configuration files somehow. I really cant understand what is that I have to set. :/

    Can you please guide me to the right path a bit?

    Thanks a lot again!

  • Scott Duensing
    July 16, 2013 at 3:12 am

    Thanks! This is very helpful and quite nice. One thing, it’s mad about running on a Mac.

    Change line 351 from:

    StreamWriter NewDoxyfile = new StreamWriter(config.DocDirectory + @”\Doxyfile”);

    To:

    StreamWriter NewDoxyfile = new StreamWriter(config.DocDirectory + Path.DirectorySeparatorChar + @”Doxyfile”);

  • Rod Haxton
    October 16, 2013 at 8:34 pm

    Hello Jacob,

    I found your plugin and used it. THANKS!!! I love it! Very easy and simple to use. I love developers that make other developers job easy. Of course to do it, some difficult steps and hard work is usually required but, just wanted to say I greatly appreciate it.

    -Rod

  • Anyw
    March 10, 2014 at 2:27 am

    do you a version for javascript?

    • Rodrigo
      November 24, 2015 at 8:41 pm

      Man really, I deeply recomend you learning C#, forget js for unity. Do you see the guys from unity learning session using js for the videos?
      if you want man, i can teach you the basics then you start walking by your own.

  • SungMin Lee
    April 3, 2014 at 3:18 am

    Thanks,

    Plugin you have made is great. 
    It helped me a lot. 

    I have one request.
    Will it be possible to adjust and redistribute your plugin for localizing purpose?

  • Ronin
    April 7, 2014 at 11:10 pm

    I’m on a mac, still not working over here. I saw that you said you had fixed that problem on some forum but its still the same. Where do I find the fixed version for mac.

  • Carlos González
    March 18, 2015 at 5:24 pm

    I’m working with Unity 5 and C# and this plugin is extremely good for maintainnig the software quality of my project! Thank you so much! 😀

    Your other plugins (like the vector based gestures) seems very interesting also! Keep up the good work! 😀

  • Michele Mantovan
    December 9, 2015 at 9:57 am

    Thanks a lot for this plugin! I’m going to testing it on unity 5.3. Now i’m gonna take a look at the other stuff in this great blog.

  • Isaiah Mann
    December 25, 2015 at 9:50 pm

    Hi Jacob, very interested in this plugin, however, I’m unable to run the “Save Configuration and Build new DoxyFile” function without error.

    The errors I get are:
    “Doxygen finsished with Error: return code 1”

    “IOException: Failed to Copy File / Directory from”

    I’m running Unity 5.3.1f1 on Mac OSX 10.10.5

    Thanks for your consideration.

  • Martin François
    May 1, 2016 at 5:23 am

    great work ! thanks a lot

  • Nicolas
    June 2, 2016 at 8:11 am

    Awesome plugin, is it possible to export the documentation to a pdf file ?

  • Clément
    August 1, 2016 at 2:55 pm

    Thanks for this awesome package, it’s really usefull.
    It could be nice to add a checkbox in the setting to choose if we want or not the Private members in the Class.

    For thoses who would like to do that, you need to open DoxyFile and Copy/Paste:
    EXTRACT_PRIVATE = YES

    PS : You need to reput that option if you are changing the theme of your DOxygen Doc.

    Best Regard Clément

  • lUAN nGUYEN
    September 5, 2016 at 7:16 am

    Hi jacob

    jUST A QUICK QUESTION. i’M TRYING OUT YOUR DOXYGEN PLUGIN FOR UNITY HOWEVER I AM HAVING SOME TROUBLE GENERATING DOCUMENTATION FOR cOROUTINES…COMMENTING BEFORE AN IENUMERATOR DOES NOT SHOW UP IN THE DOC.

    cHEERS

  • CESARPACHON
    September 12, 2016 at 2:51 pm

    COOL! UNFORTUNATELY iT DOESN’T RUN IN THE LINUX VERSION OF UNITY3D EDITOR.. TESTING WITH VERSION 5.4.0P1

  • bigo may
    November 29, 2016 at 10:10 am

    Great plugin to generate documentation for unity projects, thanks!

  • Macy
    December 6, 2016 at 4:20 pm

    Thanks!!!

  • max
    January 3, 2017 at 5:17 pm

    Hi Jacob!

    I WAS GLAD TO FIND SUCH A TOOL FOR UNITY 3D BUT UNFORTUNATELY I CANNOT SEE ANY OPTION under window-tab to choose doxygen documentation. i tried reimport several times. P.s. i use mac with unity 5

  • Sonny
    May 9, 2017 at 1:34 am

    Thanks for the great plugin. But I keep getting Nullreferenceexception when clicking on Settings/Configuration on Unity 5.6. Can you help?

    • Nathalie
      November 22, 2017 at 9:08 am

      As workaround, if you comment lines 161 to 164, it works. The Popup method has changed and requires one more parameter.

  • Christian
    December 22, 2018 at 11:26 am

    UnityException: get_productName is not allowed to be called from a ScriptableObject constructor (or instance field initializer), call it in OnEnable instead. Called from ScriptableObject ‘DoxygenWindow’.
    See “Script Serialization” page in the Unity Manual for further details.
    DoxygenWindow..ctor () (at Assets/Editor/Doxygen/DoxygenWindow.cs:40)

  • Luis
    January 10, 2019 at 5:05 pm

    Excellent tool !!! very helpful I only wish I had found it before, many thanks !!

  • Steven Kelly
    January 14, 2019 at 1:17 pm

    Hi Jacob,

    Just started using your plugin this morning and It’s amazing! Thank you so much for making this!
    I did have a few errors with the editor window class due to changes to unity but I’ve patched them all now and it’s working without errors in Unity 2018.

    I hope you don’t mind but I’ve shared my updated version here for anyone who needs it: https://drive.google.com/open?id=1pG9uUYFA_7OfoxLEPcE68HxDQHQQPmOR

  • Torbjorn
    May 8, 2019 at 8:34 pm

    Great tool! I think it would reach a lot more people if it was on the asset store! Is there any reason you haven’t added it?

  • Egemen
    January 11, 2020 at 2:55 pm

    For those receiving the NullReferenceException:
    Change these two lines:
    public string UnityProjectID = PlayerSettings.productName+”:”;
    public string AssestsFolder = Application.dataPath;
    to
    public string UnityProjectID;
    public string AssestsFolder;

    then add these:
    UnityProjectID = PlayerSettings.productName + “:”;
    AssestsFolder = Application.dataPath;
    to the beginning of OnEnable or LoadConfig function.

  • Falling Sloth
    March 4, 2020 at 12:00 pm

    Great plugin, just got a couple of issues.

    1. The plugin seems to override some of the options set in BaseDoxyFile, specifically ‘GENERATE_LATEX’. It’s set to ‘YES’ in the BaseDoxyFile, but no latex is generated and the doxy file in the output folder has it set to ‘NO’. I’ve been over your code and can’t seem to find where this override happens.

    2. While the editor window is open it spams an error in the console. “Invalid antiAliasing value (must be at least 1)”. The error doesn’t point to a file, but it only seems to appear when the plugin window is redrawn.

Post a Reply to Falling Sloth Cancel Reply