Programming · Advanced

Design Unity systems and justify every architectural choice with evidence

A research-based programme that replaces scattered blog advice with one ordered body of knowledge, from engineering fundamentals to CI/CD and refactoring.

Level: advanced20 weeks · 64 videos · 80+ hours
  • 64 video lessons
  • 80+ hours of material
  • 50+ research papers behind it
  • Slides, summaries and homework
  • 14-day money-back guarantee
See the curriculum
Tidy wooden desk with loose paper, closed laptop, coffee cup and a fern in morning light

Plenty of material, still no clear picture

When you start a new project or join an existing one, you want to do it well. In practice, doing it well means that months later you can open the code without dread, change requirements, add features, and avoid turning every change into a small disaster.

There is no shortage of material on architecture. The problem is that more of it has not made things easier. Shallow how-to videos, generated filler articles and advice detached from the conditions it was written for all compete for your attention. Getting through it to the knowledge that actually helps can take weeks.

Perhaps you already know SOLID, design patterns and clean code. You solve every task you are given. Yet at the moment of implementation it is still unclear what exactly to do so the final system balances complexity and quality, and you cannot always explain to yourself why you chose one implementation over another.

This programme does the most expensive part of that work for you: the searching, filtering and cross-checking. Hundreds of sources and more than fifty research papers have been distilled into a sequence in which every lecture builds on the terms and definitions of the one before it.

What you will be able to do

  • Design a Unity project from scratch

    From the solution, project, folder and assembly structure all the way to CI/CD and release.

  • Make architectural decisions deliberately

    Explain them to your team with metrics and sources rather than "it feels right to me".

  • Choose how systems communicate

    Pick between reference-based, event-based, DI, Rx and shared-context approaches and know where each simplifies code or adds needless complexity.

  • Record decisions with ADR and C4

    Leave a trail that explains, six months later, why the team chose a path, so nobody argues from zero again.

  • Read and apply code quality metrics

    Use lines of code, cyclomatic complexity, Halstead measures, cognitive complexity and coupling, and know where not to over-interpret them.

  • Compare architectural styles by the problem they solve

    Understand layered, hexagonal, onion, microkernel, event-driven, data-driven and ECS approaches.

  • Plan modules and their topology

    Define boundaries that keep a growing system manageable for a team.

  • Refactor a live system step by step

    Make decisions as you go instead of working on a toy example.

64
videos, including lectures and Q&A recordings
80+
hours of material
50+
research papers behind the lessons
3
parts: foundations, practice, consolidation

A method built on trade-offs, not a single favourite pattern

The programme does not offer a magic pill and never says "always do it this way". Instead, it looks at the conditions in which an approach works, where it starts to get in the way, and what price a project pays for each decision.

What you gain is not one favourite pattern for every situation, but an understanding of compromises for a specific task. Key claims can be traced back to a primary source, so you can read the argument, check it, and decide whether it applies to your project.

The first part lays a scientific base: software engineering theory, cognitive and organisational limits, coupling and complexity. The second part applies that base to a real Unity production project. The third part consolidates it in code through refactoring of a real system.

Hands adjusting a wooden balance scale with smooth stones on both pans

How the course works

The lectures are recorded and released gradually, on Mondays and Thursdays, over roughly 20 weeks. This calm pace means more than 80 hours of material can be combined with a full-time job. Lessons that have opened remain available to you.

Every lesson comes with a presentation, a written summary and a homework task. The summaries are designed so you can quickly refresh a diagram in the middle of a work task instead of rewatching a whole lecture.

You also get a private chat for the cohort and live online Q&A sessions every two weeks, where you can bring questions and tasks from your own work. The lectures include a production-grade mobile multiplayer game as a worked example, studied through the real constraints, trade-offs and code that had to be maintained after release.

The programme

Three parts, covering engineering foundations, Unity practice and consolidation through refactoring.

  1. 1Module 1 — Software engineering foundationsWhy engineering decisions need theory and what limits every software project.
    • What software engineering is and why theory matters on real projects
    • Cognitive limits that personal productivity cannot beat
    • Organisational constraints on software development
    • Why architecture cannot be chosen by taste alone
  2. 2Module 2 — Architectural approaches and quality metricsEach major style examined by the problem it tries to solve, then measured.
    • Ports and adapters, N-layer and MVC
    • Hexagonal and onion architectures
    • Microkernel and event-driven architectures
    • Data-driven and ECS architectures
    • Lines of code, cyclomatic complexity and Halstead metrics
    • Cognitive complexity and coupling: what they tell you and what they do not
  3. 3Module 3 — Architecture in a Unity projectDecisions that are usually remembered too late, applied to a real production project.
    • Requirements and architecture decision records
    • Documenting the system with the C4 model
    • Solution, assembly and folder structure
    • Scenes, entry point, dependencies and initialisation
    • Scripting defines, configs and domain-driven design
    • UI, player data, logging and analytics
    • Tests and code generation
  4. 4Module 4 — Deploy and release processHow architectural decisions connect to getting a build out.
    • Staging environments and repository strategies
    • CI/CD pipelines
    • Versioning and migrations
  5. 5Module 5 — Links, topology and refactoringConsolidating everything in code on a real system.
    • Types of links between objects and how they shape modules
    • Why project structure starts to hurt as a system grows
    • Refactoring a real system and deciding along the way
    • Rules for creating modules, summarised as a mind map
Hand rearranging plain wooden blocks into a modular structure beside copper wire and pliers
Structures are built from parts that can be rearranged with care.

What you get

  • 64 video lessons

    Lectures and recorded answers to questions, more than 80 hours in total.

  • Presentations for every lesson

    Slides to review the structure of each topic.

  • Written summaries

    Short text versions for quick reference during work.

  • Homework tasks

    Exercises that put each lesson to work.

  • Private cohort chat

    A place to discuss solutions with other participants.

  • Live online Q&A every two weeks

    Bring your own questions and working tasks.

  • Lasting access to opened lessons

    Opened material stays available after the programme ends.

  • 14-day money-back guarantee

    Try the programme and decide with no pressure.

Is this course for you?

This course is for you if…

  • You have at least one year of commercial Unity development and one project taken through to release.
  • You are at middle level or above and increasingly meet in articles and talks what you already know.
  • You want a foundation of decision-making principles that outlasts changes in Unity versions and tools.
  • You are a senior developer, lead or CTO who designs systems from scratch, sets module boundaries for a team and must defend decisions with metrics rather than authority.

Probably not a fit if…

  • You are looking for a beginner introduction to C# syntax or Unity basics; these are treated as already known.
  • You want a detailed walkthrough of design patterns; they are mentioned but not taught separately.
  • You expect one universal recipe that is always correct; the programme teaches trade-offs instead.
  • You want a lighter, practice-only course with little theory; the first part is deliberately theoretical.

After the course

You will have a system of knowledge resting on research as well as on personal experience and popular recommendations. When someone on your team asks why a module boundary sits where it does, you can answer with metrics, sources and a clear account of the trade-off.

You will be able to start a Unity project with a considered structure, choose communication styles between systems that fit the task, and document decisions so that they survive team changes.

Most importantly, you will save the weeks or months of unstructured searching that building this understanding alone would take.

Questions before you buy

How much time does it take each week?

Lectures are released twice a week over roughly 20 weeks, which works out to about four hours of video a week if you follow the release pace, plus homework. You can spread the work as suits you.

Do I need prior experience?

Yes. At least one year of commercial game development is recommended, ideally with one released Unity project. C# syntax, classic design patterns and Unity basics are assumed to be known and are not explained in detail.

Will it be too theoretical?

The programme combines theory and practice. The first part builds foundations, the second applies them in a Unity production project, and the third consolidates them by refactoring a real system.

Is it useful if I do not work in Unity or games?

Yes, the principles of building and organising monolithic applications apply broadly. Be aware that all examples are in C# and one part of the course is devoted specifically to Unity.

How does access work after payment?

After payment you receive access to the learning platform and the private cohort chat. Lectures open gradually on Mondays and Thursdays, and the material that has opened stays available to you.

What format are the lessons?

Recorded video lectures, each with a presentation, a written summary and a homework task. Live online Q&A sessions take place every two weeks.

Does the material stay available?

Yes. Lessons that have been opened remain available, so you can return to them whenever a work task calls for it.

Can I get a refund?

Yes. You have 14 days from purchase to request a full refund if the course is not what you expected.

Make architectural decisions you can defend

Skip weeks of searching and follow one ordered path from fundamentals to a refactored real system.