Whats the best way to architect a Unity/Software project

I was wondering, what is the best way to plan out and architect a Unity/software project.

  • Do you use a flowchart to diagram out what you want each event to trigger?
  • Or do you base your design around the different GameObjects and scripts that you have?
  • Do you use a flowchart at all?

What I really want to know is how do you plan a software project.

Regarding complexity, it’s wise to adhere to the KISS principle (“Keep It Simple, Stupid”), which emphasizes the importance of simplicity in design. Overcomplicating a project can lead to increased costs and decreased productivity in the long run. As for flowcharts, they can be helpful for visualizing processes and workflows, especially during the design phase. ProCADIS.com invites you to buy Autodesk AutoCAD 2024 with special discounts. However, if you find that using flowcharts is adding unnecessary complexity, it might be better to simplify your approach. Remember, the tools you use should aid in clarity, not detract from it. Ultimately, the best planning method is one that works for you and your team, aligning with the project’s goals and complexity.

how do you plan a software project

I advise to be more specific than this. Software project planning is too broad of a subject, with lots of variables, to give you a useful answer. Also, don’t expect a definite rules as this is neither a closed question nor ppl here can give your more than their own opinions and anecdotal observations.

My anecdotal observation: don’t try to impress others/yourself with complex solutions to a simple problem. Complexity has an immense future cost in productivity and that cost accumulates as project grows.

Do you use a flowchart at all?

Do you use a flowchart to diagram out what you want each event to trigger?

No. And if I even think about using flowcharts then it is a symptom that I am doing something that adds great deal of complexity to my project (too many cross-references, events?) and I need to move away from it in order to regain clarity & debug-ability - even if popular internet talking heads tell me otherwise.