Skip to content

Programming Tutorials

Guides for SIGGD's programmers, from your first look at how Unity works to designing systems for the game. Everything here is written to be useful long after onboarding, so come back to it whenever you're about to build something real.


Onboarding Workshops

If you're new to the programming team, these are what we run through during our programming workshops. They also work fine on your own asynchronously, but I recommend this order for your perusal.

  1. How Unity Thinks: GameObjects, components, the Inspector, the lifecycle, and prefabs.
  2. Designing a System: a repeatable process for designing a system before you build it, alongside a full worked example. This one is very useful in general when developing systems!
  3. Data-Driven Design: getting tuning numbers and content out of scripts and into data designers can edit, especially within Unity.
  4. The OOP Toolkit: composition, interfaces, events, state machines, strategies, commands, and when to use each. This ain't your CS180's OOP lesson.

Reference

  • C# Style Guide: Our guidelines and rules for C# in the SIGGD codebases. Read this (or skim) before your first PR PLEASE PLEASE PLEASE PLEASE PLEASE
  • C# for Unity: a C# primer for people coming from other languages Java, Python, or C++. Fairly straightforward.
  • Thinking Like an Engineer: complexity, readability, and designing around change, which teaches you to THINK like a software designer.

Something missing?

If you got stuck on something these guides don't cover, you could write your own guide!!!!!! Use the Tutorial Template and follow the Contributing Guide.