Contacto WhatsApp 961135355

Universidade Lusófona do Porto

Programming Languages II


This course expands on the previously acquired knowledge on programming on C#, introducing students to Unity and its scripting API, allowing for the development of simple functionalities and game mechanics.


Videogames and Multimedia Design

Level of Qualification|Semesters|ECTS

| Semestral | 6

Year | Type of course unit | Language

2 |Mandatory |Português



Recommended complementary curricular units

Game Design I

Professional Internship



  • Presentation of Unity3D and Visual Studio as development environments;
  • C # as scripting language;
  • MonoBehavior class events (eg Start / Awake, Update and FixedUpdate);
  • Order of execution of events in Unity scripts;
  • Algorithm and Design Patterns basic concepts;
  • Threads and Coroutines;
  • Creation of components;
  • Elements of Graphical User Intefaces;
  • Scene transitions;
  • Raycasting and Physics;
  • Input Devices (Keyboards, Gamepads, Mouse, Camera);
  • Inspectors;
  • Debugging Techniques and Memory Management;
  • Implementation of simple game mechanics in C #;

Previously scheduled class sessions will be taught at a distance, promoting the deepening of students autonomous work capacity


The student should know the predefined events in a Unity-based application, and decide which ones to use to implement the desired functionality.
The student should also master the methods of asynchronous and parallel programming with threads and routines, as well as know their advantages and limitations.
Additionally, the student should also be able to deploy new components and expose some variables in the inspector window, making use of the functionality already provided by the engine.
Additionally, the student should also be able to implement transitions between states and scenes to create a cohesive final game experience.
Finally, some specific programming concepts using object-oriented language (in this case C #) should also be assimilated (eg Inheritance, Polymorphism), as well as Design Patterns.

Teaching methodologies and assessment

This course is based on a continuous assessment with a final exam.
As a curricular unit with a theoretical and practical component, the evaluation comprises two components that complement the continuous evaluation. The theoretical component is assessed through a test (PE) at the end of the semester, in which students should demonstrate theoretical knowledge by answering some questions, identifying appropriate techniques and strategies for solving certain problems and developing simpler scripts.
For the practical component, students are asked for a Unity (TP) project, using the C # language, which demonstrates the knowledge and adaptation to the conditions required by the video game industry projects.
Thus, the final grade is given by:
NF = 50% TP + 50% PE
Note that both components have a minimum grade of 8 values.

A written grade improvement exam is also possible, replacing the NF grade entirely, optional for students with a positive NF grade, and mandatory for those without .


  • Hocking, Joe - Unity in Action, Second Edition: Multiplatform Game Development in C#. ISBN-10: 1617294969

Office Hours

Nome do docente  

Horário de atendimento