Skip to content

Latest commit

 

History

252 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minor GDD - Unity Development Curriculum

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.


Quick Links & Reference Guides


Software Requirements & Standards

  • 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)

Schedule & Weekly Lessons

BLOCK 1: 2D PROTOTYPING & CORE ARCHITECTURE

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 / 3D.1 06_block_prototyping 3D Block Prototyping & Greyboxing
• Level Design Metrics (1 unit = 1 meter)
• ProBuilder In-Engine Geometry & Snapping (Ctrl & V)
• Camera-Relative CharacterController & Ballistic Jump
• Cinemachine 3.x Third-Person Rig & Modern NavMeshSurface AI
Lesson 3D.1 Material
Slide Deck
1.8 08_gamejam2 Blocktober Demo & Midterm Milestone Playtests Coming Soon
1.9 09_problemsolving Debugging, Profiling & Problem Solving Coming Soon
1.10 10_architecture2 Game Architecture 2: Finite State Machines & Refactoring Coming Soon

BLOCK 2: 3D PROJECT, SHADERS, VFX & POLISH

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 --

Code & Project Quality Standards

  1. Zero Compilation Warnings: Code must compile cleanly without unassigned variables or deprecated API warnings.
  2. Separation of Concerns:
    • Visuals (Renderers, Animators) on child object.
    • Physics (Rigidbody, Collider) on root object.
    • Logic in modular, decoupled C# scripts.
  3. Framerate Independence:
    • Movement in Update() must multiply by Time.deltaTime.
    • Physics mutations must occur in FixedUpdate().
  4. No GC Allocation in Loops: Avoid new, string concatenation, and LINQ queries inside Update() and FixedUpdate().

About

RUAS (Rotterdam University of Applied Sciences) Minor Game Design & Development - Unity Development Course

Topics

Resources

Stars

4 stars

Watchers

3 watching

Forks

Contributors

Languages