[WIP] Unity Documentation Generator

uDocumentGenerator - a modern, light, and organized documentation generator.

Update: checkout the demo website/project docs here

From managers, bosses, professors to coworkers, classmates, and exes, we’ve heard the importance of communication. Now while, poor communication may not have ended your last relationship, poor communication - in the form of documentation - with your code will end your project insert end this man’s whole career meme.

Creating accessible, organized, easy to use documentation, whether that be a website or PDF, is simply time consuming. Additionally, current offerings have many drawbacks not limited to poor/antiquated design and poor organization that makes finding what you’re looking for a chore. I encountered that first hand when I tried generating documentation for my Open Source Pause Menu , where the documentation generator I used got the information correctly but resulted in a messy generated folder structure and a hard to use/ugly website.

uDocumentGenerator was born out of the need to innovate on these drawbacks. One of the main goals of the asset is to be plug and play for most classes. Being version 1.0, there are some drawbacks such as not generating for more than one class per file, but those can be easily remedied as the code is encapsulated. It currently deals extremely well with a normally formatted and commented project, meaning that within minutes, you’ll have a custom documentation website for your project. At the moment the only things you may want to change code wise are: the title tag in the React app, the social media links, and the logo.

The other main goal is to generate a website that is easily navigable, modern, and light. The template website created in Reactjs embodies these requirements by acting as a data reading/displayer. It also reads markdowns for all descriptions: variable descriptions, function/method descriptions, and class descriptions. More importantly, the design aims to get extremely navigable by implementing a card based search as the landing page, and the website is mostly responsive. Customization wise, the color scheme is easily modifiable: the default color scheme is very consistent, making it easy to replace, and the syntax highlighting package comes with many themes.

ALSO! Don’t be scared by React. You don’t really need to know it to use this. Just basic html/css. In fact, the React app portion of this asset will be open source. That means you could clone the React app, create the generation yourself and use it that way.
Pricing: 5-7.5 dollars. 7.5 because ideally I want to get 5 dollars to myself per purchase, although you guys are the market, so ultimately you decide the pricing.

Pictures:
Class view:
This is the class view, where a tree of the project is shown on the left and the selected class is on the right. Variables and functions are searchable through their respective search bars and names.


Searching in the tree view by class name is also fully supported

The getting started panel is a set through markdown.

The landing page with its card based search. Class descriptions are fully mark down enabled.

The search filters by class name.

The editor window is also well integrated into unity and easy to use.

Feedback I need from you guys before I release the asset.

  • Pricing! I think the lowest I’ll go is 5 dollars (need this to kind of fund my university expenses )
  • Should I keep the social media links in by default?
  • Is the spacing of elements good on the class view?
  • Any other comments?
4 Likes

Don’t go as low as $5 dollars. You’ll be underselling yourself.

EDIT: I just had to write more. Please don’t undersell yourself with $5. This is an amazing idea and I would love to see it developed more. I just can’t see that happening for only $5. Definitely push for the $30-$50 margins, and do the occasional sales.

My company was just in the position where we were discussing documenting our code, and I pointed out that it’s just too time-consuming to put focus on. So as you’ve already found, there definitely is a need for this… just not among the extremely small devs. Bigger devs are willing to pay bigger bucks and need this more.

1 Like

Why would somebody pay for and use this over doxygen?

1 Like

Oh great to hear! Do you know of any sites or software where I can test out price setting?

The documentation software I used to generate docs for my pause menu was doxygen. It left a ton of files in the root, which is suboptimal if you’re trying to have it as offline documentation, and it leaves a lot of be desired in the design/looks department. Also, the install/generation process wasn’t the smoothest if I remember correctly.

1 Like

What do you mean?

1 Like

Are there any tools that can calculate an optimal price? Or do I just ballpark it?

Anyone else with pricing suggestions? Also what are some good promotional tips? I’m currently on twitter and reddit.

To be honest, I like doxygen.
It is nice and clean, with optional skins, if anyone wants it.
Whats more important, is lightweight and ready to drop onto web page.

Price yourself, as you value yourself. However, consider existing competitive products.

What you present is ok. But is far from, what alternative can offer already. So you should focus, to make it stand out somehow.

That’s fair. You expect to put up with some cleanup with free systems (which is what I did).

I built this with react and have made keeping it lightweight and looking good both priorities.

Right now, it is ready to drop onto a webpage. I’ll be uploading the documentation website for this asset to github pages this week. It shouldn’t be more than just a push. Although, I’d always love to hear what other features to add for it to be more turn key.

What features do you think would be make it stand out more?

Other than UI, for example DOTS support.
It is early for DOTS still, but that may be good time, to jump on the boat.

1 Like

Sorry what’s DOTS?

Data Oriented Technology Stack

But if you are not familiar with, potentially may be too heavy stone to carry.
I may be wrong tho, as most of things should be compatible.
However, something to thing about. :slight_smile:

It looks cool! What do you think the biggest application to this could be though?

Providing I understood correctly, Jobs of Systems should be part of documentation process.
Each system can have multiple jobs in OnUpdate.
Hence would be nice, to have references to them. For example doxygen doesn’t recognize them. It only sees override methods in system.

Wonder also, if this can be applicable to Project Tiny, since scope is similar as in DOTS / ECS.

Oh I see. That’s a feature I’d be willing to consider adding. Do you know if reflection detects them? I’d assume it doesn’t.

I don’t know to be honest. But I am a bit skeptical. Something to try on.

1 Like

I agree about price. Hobbyists who would only spend $5 might not even care about generating documentation. Try an introductory price of $10-15. If it struggles due to competition from open source generators, leave it there. (Don’t drop the price; this penalizes your early adopters.) If it gets a good reception, increase the price.

It sounds like one still needs to set the title, logo, and social media links in code. It’s more important to get your asset out there and start getting feedback, rather than endlessly tinkering with features, but the ability to set title, logo, and social links should be a high priority addition after release. Also, the ability to change templates from a dropdown menu would be nice.

1 Like

Alright that sounds good. Yeah there’s still some set up to do to customise it, although it only takes a few minutes and the process is well documented. There’s also the option of just leaving it as is, which means that you could have a custom doc website very quickly. The only drawbacks would be the HTML title being DOCUMENTATION TITLE and different social links.

Could these be fields in the custom editor window? Then the user could just type them in there.