Welcome to the repository for Minor Game Design & Development - Unity Development (Rotterdam University of Applied Sciences - CMGT).
This curriculum guides students from foundational 2D game prototyping to advanced 3D game architecture, visual effects, shader development, and performance optimization using the Universal Render Pipeline (URP) in Unity.
- Interactive Course Presentations Portal
- Unity Tips & Complete Reference Manual
- C# Unity Code Snippets Library
- GDD Resources & Asset Catalog
- Curated Video Tutorials & Documentation
- Git & Team Collaboration Guide
- Project Starter Files & Packages
- Target Engine: Unity 6 (6000.x) with Universal Render Pipeline (URP)
- Primary IDE: JetBrains Rider / Visual Studio 2022
- Language: C# (.NET Standard)
- Version Control: Git + Git LFS (Large File Storage)
| Week | Lesson Code | Topic & Content | Material & Assignment |
|---|---|---|---|
| 1.1 | 01_basics1 |
Introduction Unity 2D (Workshop) • GameObjects, Components, Prefabs • Script Lifecycle ( Awake, Start, Update, FixedUpdate)• 2D Physics ( Rigidbody2D, Collider2D, Physics Materials)• New Input System & Cinemachine 2D Camera Follow |
Lesson 1.1 Material Slide Deck |
| 1.2 | 02_basics2 |
Object Communication & Data Containers • Physical Collisions & Stomp Detection ( OnCollisionEnter2D)• Component Safety ( TryGetComponent, CompareTag)• Data Architecture (Arrays, Lists, Dictionaries, ScriptableObjects) • Asynchronous Coroutines & Event Decoupling |
Lesson 1.2 Material Slide Deck |
| 1.3 | 03_UI |
UI Layouting & Data Persistence • Canvas Scaler (1920x1080 Match 0.5) • Anchors & Pivots Responsive Layout • TextMeshPro & Decoupled UI Events • JSON Data Persistence ( JsonUtility) |
Lesson 1.3 Material Slide Deck |
| 1.4 | 04_architecture |
Game Architecture 1: Decoupling & Prefab API • Prefab as an API (The Black Box Pattern) • ScriptableObject Event Channels & Memory Safety • Robust Generic Persistent Singletons • Multi-Scene Additive Loading ( LoadSceneAsync) |
Lesson 1.4 Material Slide Deck |
| 1.5 | 05_release_polish |
The Release Candidate: Polish, Lifecycle & Telemetry • Screen Faders & First-Run Onboarding Detection • Mobile App Lifecycle ( OnApplicationPause) & State Protection• Procedural Micro-Animations ( AnimationCurve) & Audio Randomization• Online Leaderboards & Google Sheets Playtest Telemetry |
Lesson 1.5 Material Slide Deck |
| 1.6 | -- |
Concept Presentations 2D Project & Feedback | -- |
| 1.7 | 07_blockprototyping |
3D Block Prototyping & Greyboxing (Workshop) • ProBuilder 1m Grid & Modular Prefab Kit • Snapping (Grid Snap & Vertex Snap) • 3D CharacterController (Camera-Relative Movement) • Camera POV / Third-Person Cinemachine 3 Orbit • Interactive Loop (Spawn → Trigger → Goal) & NavMesh NPC |
Lesson 1.7 Material Slide Deck |
| 1.8 | 08_problemsolving |
Problem Solving, Controlling AI & Dev Tooling (Workshop) • Breaking 3D Mechanics into 4 Simple Steps ( Input → Spatial Query → State & Math → Feedback)• Unity 6 API Verification with F12 & Scene Visualizers (OnDrawGizmosSelected)• 1-Click Inspector Testing ( [ContextMenu]) & Silent Bug Guards (OnValidate)• In-Game Dev Cheats (Teleportation, Slow-Mo) & DevWatch Runtime Overlay• IDE Debugger & Call Stack: Pinpoint Bugs in 30 Seconds with Conditional Breakpoints |
Lesson 1.8 Material Slide Deck |
| 1.9 | 09_gamejam2 |
Blocktober Demo & Midterm Milestone Playtests | Coming Soon |
| 1.10 | 10_architecture2 |
Game Architecture 2: State Machines, Commands & Safe Refactoring (Theory + Working Sessions) • State machines level up: IState, guards, logging, hierarchy• Interfaces & composition ( IDamageable)• Command pattern: input buffer, undo, replay • Services instead of singletons • Refactoring toolkit: small steps, NUnit test, assembly definitions • 4 timed working sessions in your own project (15, 10, 15, 12 min) |
Lesson 1.10 Material Slide Deck |
| Week | Lesson Code | Topic & Content | Material & Assignment |
|---|---|---|---|
| 2.1 | 21_optimization |
Performance Optimization & Rendering | Coming Soon |
| 2.2 | 22_materialsandshaders |
URP Materials & Shader Graph | Coming Soon |
| 2.3 | -- |
Concept Presentations 3D Project & Review | -- |
| 2.4 | 24_3Danimation |
3D Character Animation & Rigging | Coming Soon |
| 2.5 | -- |
Milestone Playtesting & Polishing | -- |
| 2.6 | 26_VFX |
Visual Effects & Post-Processing (URP) | Coming Soon |
| 2.7 | 27_audio |
Audio Systems & Dynamic Sound | Coming Soon |
| 2.8 | -- |
Final Project Polish & Profiling | -- |
| 2.9 | -- |
Final Presentations & Expo 3D Project | -- |
- Zero Compilation Warnings: Code must compile cleanly without unassigned variables or deprecated API warnings.
- Separation of Concerns:
- Visuals (Renderers, Animators) on child object.
- Physics (
Rigidbody,Collider) on root object. - Logic in modular, decoupled C# scripts.
- Framerate Independence:
- Movement in
Update()must multiply byTime.deltaTime. - Physics mutations must occur in
FixedUpdate().
- Movement in
- No GC Allocation in Loops: Avoid
new, string concatenation, and LINQ queries insideUpdate()andFixedUpdate().