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

C++ Object Basics: Functions, Recursion, and Objects (Coursera) Coursera
Codio

C++ Object Basics: Functions, Recursion, and Objects (Coursera)

Code and run your first C++ program in minutes without installing anything! This course is designed for learners with limited coding experience, providing a solid foundation of not just C++, but core Computer Science topics that can be transferred to other languages. The modules in this course cover functions, recursion, objects, and mutability. Completion of the prior 2 courses in this specialization are recommended.

Jun 15th 2026
4 Weeks
Introduction à la programmation orientée objet (en Java) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

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

Ce cours introduit la programmation orientée objet (encapsulation, abstration, héritage, polymorphisme) en l'illustrant en langage Java. 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 Java) ».

Jun 21st 2026
5-12 Weeks
Java for Android (Coursera) Coursera
Vanderbilt University

Java for Android (Coursera)

This MOOC teaches you how to program core features and classes from the Java programming language that are used in Android, which is the dominant platform for developing and deploying mobile device apps. In particular, this MOOC covers key Java programming language features that control the flow of execution through an app (such as Java’s various looping constructs and conditional statements), enable access to structured data (such as Java's built-in arrays and common classes in the Java Collections Framework, such as ArrayList and HashMap), group related operations and data into classes and interfaces (such as Java's primitive and user-defined types, fields, methods, generic parameters, and exceptions), customize the behavior of existing classes via inheritance and polymorphism (such as subclassing and overriding virtual methods).

Jun 16th 2026
4 Weeks
Use C++ to build a crypto trading platform II: data (Coursera) Coursera
University of London,Goldsmiths, University of London

Use C++ to build a crypto trading platform II: data (Coursera)

This course is the second of five courses aiming to help you to become confident working in the object-oriented paradigm in the C++ language. This specialisation is for individuals who want to learn about objected oriented programming. It's an all-in-one package that will take you from the very fundamentals of C++, all the way to building a crypto-currency exchange platform.

Jun 15th 2026
2 Weeks
C++程序设计 (Coursera) Coursera
Peking University

C++程序设计 (Coursera)

讲授C++语言中和面向对象有关的概念和语法,如类和对象、运算符重载、继承和多态、类模板和算法模板、标准模板库等。目标是使得学生能够用C++语言,以面向对象的方法编写可维护性、可扩充性好的,较大规模的程序,初步领会面向对象程序设计方法的优势所在。

Jun 15th 2026
5-12 Weeks
Object-Oriented Java: Inheritance and Encapsulation (Coursera) Coursera
Codio

Object-Oriented Java: Inheritance and Encapsulation (Coursera)

Code and run your first Java program in minutes without installing anything! This course is designed for learners with limited coding experience, providing a solid foundation of not just Java, but core Computer Science topics that can be transferred to other languages. The modules in this course cover inheritance, encapsulation, polymorphism, and other object-related topics. Completion of the prior 3 courses in this specialization is recommended.

Jun 15th 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.

Jun 15th 2026
5-12 Weeks
An Introduction to Interactive Programming in Python (Part 2) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 2) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Jun 15th 2026
4 Weeks
More C++ Programming and Unreal (Coursera) Coursera
University of Colorado System

More C++ Programming and Unreal (Coursera)

This course is the second 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 course in the specialization. You should make sure you have that knowledge, either by taking that previous course or from personal experience, before tackling this course.

Jun 15th 2026
4 Weeks
Object-Oriented Data Structures in C++ (Coursera) Coursera
University of Illinois at Urbana-Champaign

Object-Oriented Data Structures in C++ (Coursera)

This course teaches learners how to write a program in the C++ language, including how to set up a development environment for writing and debugging C++ code and how to implement data structures as C++ classes. It is the first course in the Accelerated CS Fundamentals specialization, and subsequent courses in this specialization will be using C++ as the language for implementing the data structures covered in class.

Jun 17th 2026
4 Weeks
Advanced R Programming (Coursera) Coursera
Johns Hopkins University

Advanced R Programming (Coursera)

This course covers advanced topics in R programming that are necessary for developing powerful, robust, and reusable data science tools. Topics covered include functional programming in R, robust error handling, object oriented programming, profiling and benchmarking, debugging, and proper design of functions.

Jun 15th 2026
4 Weeks