Back to home

Unity & Programming Teaching

Between 2022 and 2024, I taught Unity, C#, and game development to over 100 students in fully in-person classes. This page gives a concise overview of my teaching approach, the courses I delivered, and how I supported student projects.

Students taught
100+
Beginners & intermediate level
Main topics
Unity & C#
Gameplay, tools, Git, project structure
Format
In-person
Theory, live debugging & project work

Teaching approach

Courses followed a simple format: short theoretical explanation, then direct application through exercises and mini-projects. Because classes were fully in person and reasonably sized, I could walk around the room, debug with students, and adapt the pace to their level and their project.

I encouraged experimentation, but insisted on understanding the fundamentals — especially with the rise of AI tools. The rule was: understand before generating. When a solution worked but wasn't ideal, I explained why, showed a cleaner alternative, and connected it to real production practices (architecture, naming, project structure) without blocking progress.

Learning by doingProject-basedUnity + C# fundamentalsArchitecture & good practicesLive debugging

Courses delivered

Introduction to Programming (C#)

30h · Beginner

Foundational C# course

Foundational C# course to prepare students for Unity. Covered variables, control flow, functions, data structures, basic OOP, and good coding habits.

  • Focused on understanding how programs run and how to structure clean code.
  • Introduced functions, lists, and basic object-oriented programming.
  • Gave students the foundation needed to transition into Unity development.
Program structureVariables & typesConditions & loopsFunctionsArrays & listsClasses & objectsInheritance basics
Introduction to Programming (C#)

Version Control for Unity Projects (Git)

3h · Beginner

Unity projects · Git workflows

Workshop on using Git safely with Unity projects, focusing on collaboration and avoiding project corruption.

  • Helped students avoid common pitfalls when working in teams.
  • Explained how to structure Unity projects for source control.
Git + Unity setupBranches & basic workflowCollaboration in small teamsAvoiding broken project states
Version Control for Unity Projects (Git)

Gameplay Fundamentals – Mini-Game

21h · Beginner

Unity gameplay foundations

Built a small interactive game from scratch. Introduced students to Unity’s interface and core scripting patterns.

  • Covered scenes, hierarchy, and clean project organisation to avoid 'spaghetti projects'.
  • Insisted on clear naming and single-responsibility scripts to build good habits early.
  • Introduced coroutines, GameManager patterns, and basic game state handling.
  • Showed how to debug common issues directly in the Unity Editor and through logs.
Scenes & hierarchyProject organisationScripts & GameObjectsCoroutinesGameManager patternDebugging basics
Gameplay Fundamentals – Mini-Game

2D Platformer

21h · Beginner

Level design & 2D gameplay

Students created a complete 2D platformer, with emphasis on level design, physics, and clean scripting.

  • Used Tilemaps for environment building, collisions, and readable level layouts.
  • Worked on jump feel and movement physics to make controls responsive and consistent.
  • Implemented simple enemy behaviours (patrol, chase) and player/enemy interactions.
  • Discussed basic level design principles: pacing, checkpoints, difficulty curve, and feedback.
TilemapsCollisions & triggersBasic enemy AIPlayer controlsLevel design basics
2D Platformer

Shoot'em Up

21h · Beginner

Game loops & enemy systems

More advanced beginner project focused on game loops and enemy systems, preparing students for larger Unity projects.

  • Designed enemy waves, patterns, and boss behaviour using script-driven logic.
  • Introduced basic game state management (menus, pause, game over, victory).
  • Worked on game feel: feedback, VFX/SFX triggers, and readable telegraphs for enemy attacks.
  • Showed how to use simple object pooling to optimise bullets and enemies.
Wave systemsBoss behaviour logicGame state managementGame feel & feedbackObject pooling basics
Shoot'em Up

Student Project Support

5 projects · 3rd-year & Master

Technical mentoring & guidance

Provided technical support for 5 student Unity projects (teams of 3 to 6), helping them structure their code, debug complex issues, and make architectural decisions during development.

  • Helped students design gameplay loops and clean up early prototypes.
  • Provided targeted debugging sessions and guidance on C# architecture.
  • Supported the director during key project milestones by giving technical feedback.
  • Helped teams prepare stable builds and clearer presentations for the final jury.
Gameplay loop designC# architectureProject structureDebugging & problem-solvingTeam support
Student Project Support
Back to home