Please note! Course description is confirmed for two academic years, which means that in general, e.g. Learning outcomes, assessment methods and key content stays unchanged. However, via course syllabus, it is possible to specify or change the course execution in each realization of the course, such as how the contact sessions are organized, assessment methods weighted or materials used.


On successful completion of this course, students will be able to:

  • Use basic programming constructs such as loops and arrays in the C# programming language
  • Build interactive 3D game prototypes using the Unity 3D game engine
  • Use Unity 3D when working in a game project

Credits: 3

Schedule: 08.09.2020 - 25.09.2020

Teacher in charge (valid 01.08.2020-31.07.2022): Perttu Hämäläinen

Teacher in charge (applies in this implementation): Perttu Hämäläinen

Contact information for the course (applies in this implementation):

CEFR level (applies in this implementation):

Language of instruction and studies (valid 01.08.2020-31.07.2022):

Teaching language: English

Languages of study attainment: English


  • Valid 01.08.2020-31.07.2022:

    This is a basic course in 3D game prototyping with the Unity game engine, the currently recommended tool on the Aalto Media Lab game courses. The course covers basic programming constructs, but students with absolutely no scripting or programming experience should consider taking Software Studies for Media Designers instead, or contact the teacher for some preparatory exercises before course begins.

    The course begins with an introduction lecture, after which students work on tutorials and exercises on their own pace. The teacher(s) primary role is to remove obstacles for self-learning, e.g., by helping students in understanding C# compiler error messages and debugging their code. For beginners, working in pairs is encouraged, as having more than one pair of eyes helps spotting errors early on, and discussing code promotes understanding it.

    The goals are to enable even non-technical students to test their game mechanics and audiovisual ideas with simple interactive prototypes, to prepare them for working on game projects together with programmers, and to develop analytical thinking useful for game designers.

    The course is not obligatory for students with previous experience in game programming, but recommended for those not familiar with Unity.

  • Applies in this implementation:

    A note on COVID-19 and Bolt visual scripting, fall 2020:

    The teaching is organized remotely over Zoom and/or Microsoft Teams. The meeting links will be send via email to students who have signed up. Students should install Unity on their own computers if possible, and use Aalto's VDI remote computers is needed (

    Another new thing for fall 2020 is that the exercises can be done using Unity's new Bolt visual scripting system by those who prefer that to C#. However, note that the Unity version available through the Aalto VDI does not necessarily yet support Bolt.

Assessment Methods and Criteria
  • Valid 01.08.2020-31.07.2022:

    To pass the course the students hould be present at least 80% of the time and finish the exercises that are part of the course.

  • Valid 01.08.2020-31.07.2022:

    Tutored programming in class (36h) and independent programming (16h)


Study Material
  • Valid 01.08.2020-31.07.2022:

    Selected tutorials from and extra exercises to test what is learned.

Substitutes for Courses
  • Valid 01.08.2020-31.07.2022:

    Substitutes course with same name (DOM-E5092), but with reduced credit max amount.

  • Valid 01.08.2020-31.07.2022: