Intermediate Object-Oriented Programming for Unreal Games (Coursera)

Intermediate Object-Oriented Programming for Unreal Games (Coursera)

This course is the fourth and final course in the Specialization about learning how to develop video games using the C++ programming language and the Unreal game engine on Windows or Mac. This course assumes you have the prerequisite knowledge from the previous three courses in the specialization. You should make sure you have that knowledge, either by taking those previous courses or from personal experience, before tackling this course.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Throughout this course you'll build on your foundational C# and Unity knowledge by developing more robust games with better object-oriented designs using file input and output, inheritance and polymorphism, and event handling.
This course gives you even more tools to help you build great games with C++ and Unreal!
Module 1: Start using files to implement your Unity games
Module 2: Learn how inheritance and polymorphism help us write less code for our games
Module 3: Implement event handling to make better object-oriented designs and add menus to your Unreal games
Module 4: Explore the complete implementation of a small Unreal game
Course 4 of 4 in the C++ Programming for Unreal Game Development Specialization.

Syllabus

WEEK 1
Exceptions and File IO
In this module, you'll learn how exceptions are thrown when something bad happens as our program executes and how to handle those exceptions. You'll also learn about file IO, which is incredibly useful both in console apps and in Unreal games.

WEEK 2
Inheritance and Polymorphism
In this module, you'll learn about inheritance and polymorphism, two of the most powerful features in object-oriented programming languages, including C++. You'll also see inheritance in action in a small Unreal game.

WEEK 3
Event Handling and Menus
In this module, you'll learn how to use events and event handling in your game. Developing our games this way leads to much better object-oriented designs, where objects don't have to know about lots of other objects in the game. You'll also learn how to use Unreal Motion Graphics (UMG) and Slate Widgets to implement menus in your games.

WEEK 4
Feed the Teddies
In this module, we'll go through the implementation details of a complete (small) game. You'll see many of the concepts we covered in this course (and previous courses in the Specialization as well) in action, and you'll see a few new things as well.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Introduction to Open Source Application Development (Coursera) Coursera
Illinois Tech

Introduction to Open Source Application Development (Coursera)

This course introduces basic concepts of systems programming using a modern open source language. You will learn to apply basic programming concepts toward solving problems, writing pseudocode, working with and effectively using basic data types, abstract data types, control structures, code modularization and arrays. You will learn to detect errors, work with variables and loops, and discover how functions, methods, and operators work with different data types. You will also be introduced to the object paradigm including classes, inheritance, and polymorphism.

Oct 5th 2026
5-12 Weeks
Using Databases with Python (Coursera) Coursera
University of Michigan

Using Databases with Python (Coursera)

This course will introduce students to the basics of the Structured Query Language (SQL) as well as basic database design for storing data as part of a multi-step data gathering, analysis, and processing effort. The course will use SQLite3 as its database. We will also build web crawlers and multi-step data gathering and visualization processes. We will use the D3.js library to do basic data visualization.

Sep 28th 2026
5-12 Weeks
The Java Language (Coursera) Coursera
LearnQuest

The Java Language (Coursera)

This is the second course in the Java as a Second Language Specialization. In this course, we'll take a look at Java data types, discuss what primitive data types are, and explain data classes. We'll also explore characters and strings and you'll add a new class in the lab. Next, we'll take a look at Java Control Structures. We'll explain IF statements, Loops, and arrays, and will discuss Switch Statements and the Java Programming Environment.

Sep 28th 2026
3 Weeks
Game Design and Development 1: 2D Shooter (Coursera) Coursera
Michigan State University

Game Design and Development 1: 2D Shooter (Coursera)

If you love games and want to learn how to make them, then this course will start you down that path. Making games is a creative and technical art form. In this course you will familiarize yourself with the tools and practices of game development and well as the process. You will get started developing video games using industry standard game development tools, including the Unity 2020 game engine. At the end of the course you will have completed two hands-on projects, including an Intro to Unity project and a 2D Shooter game, and will be able to leverage an array of game development techniques to create your own basic games.

Sep 28th 2026
4 Weeks
Uso de bases de datos con Python (Coursera) Coursera
University of Michigan

Uso de bases de datos con Python (Coursera)

Este curso presentará a los estudiantes los conceptos básicos del lenguaje de consulta estructurado (Structured Query Language, SQL), así como el diseño básico de bases de datos para almacenar datos como parte de una iniciativa de varios pasos para recopilar, analizar y procesar datos. El curso utilizará SQLite3 como base de datos. También crearemos rastreadores web y procesos de visualización y recopilación de datos de varios pasos. Utilizaremos la biblioteca D3.js para realizar la visualización básica de datos.

Oct 12th 2026
5-12 Weeks
Introduction à la programmation orientée objet (en C++) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Introduction à la programmation orientée objet (en C++) (Coursera)

Ce cours introduit la programmation orientée objet (encapsulation, abstration, héritage, polymorphisme) en l'illustrant en langage C++. Il présuppose connues les bases de la programmation (variables, types, boucles, fonctions, ...). Il est conçu comme la suite du cours « Initiation à la programmation (en C++) ».

Oct 12th 2026
5-12 Weeks
Intermediate Object-Oriented Programming for Unity Games (Coursera) Coursera
University of Colorado System

Intermediate Object-Oriented Programming for Unity Games (Coursera)

This course is the third course in the specialization about learning how to develop video games using the C# programming language and the Unity game engine on Windows or Mac. Why use C# and Unity instead of some other language and game engine? Well, C# is a really good language for learning how to program and then programming professionally. Also, the Unity game engine is very popular with indie game developers; Unity games were downloaded 16,000,000,000 times in 2016! Finally, C# is one of the programming languages you can use in the Unity environment.

Sep 28th 2026
4 Weeks
Introduction to ES6+ (Coursera) Coursera
Scrimba

Introduction to ES6+ (Coursera)

Introduction to ES6+ covers modern JavaScript features, specifically ES6 and newer ECMAScript versions. JavaScript, a widely used programming language in various domains, is essential for developers aiming to stay relevant across web applications, servers, mobile, and IoT devices. Developers who are already familiar with JavaScript will be able to update their skills and broaden their knowledge in this tiny but mighty course.

Oct 5th 2026
1 Week
Identifying Security Vulnerabilities in C/C++Programming (Coursera) Coursera
University of California, Davis

Identifying Security Vulnerabilities in C/C++Programming (Coursera)

This course builds upon the skills and coding practices learned in both Principles of Secure Coding and Identifying Security Vulnerabilities, courses one and two, in this specialization. This course uses the focusing technique that asks you to think about: “what to watch out for” and “where to look” to evaluate and ultimately remediate fragile C++ library code.

Sep 28th 2026
4 Weeks
Introdução à Ciência da Computação com Python Parte 2 (Coursera) Coursera
Universidade de São Paulo, Brasil

Introdução à Ciência da Computação com Python Parte 2 (Coursera)

Bem vindo ao curso de Introdução à Ciência da Computação destinado aos alunos regulares da Universidade de São Paulo! Esta é a segunda parte do Curso, onde você vai continuar a aprender os principais conceitos introdutórios de Ciência da Computação e também aprenderá a desenvolver pequenos programas na linguagem Python.

Oct 5th 2026
5-12 Weeks
Data Structures and Design Patterns for Game Developers (Coursera) Coursera
University of Colorado System

Data Structures and Design Patterns for Game Developers (Coursera)

This course is the fourth course in the specialization about learning how to develop video games using the C# programming language and the Unity game engine on Windows or Mac. Why use C# and Unity instead of some other language and game engine? Well, C# is a really good language for learning how to program and then programming professionally. Also, the Unity game engine is very popular with indie game developers; Unity games were downloaded 16,000,000,000 times in 2016! Finally, C# is one of the programming languages you can use in the Unity environment.

Sep 28th 2026
4 Weeks