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

Game Design and Development 5: Capstone Project (Coursera) Coursera
Michigan State University

Game Design and Development 5: Capstone Project (Coursera)

In the game design and development capstone course, you will create an original game from initial concept up to the first playable version! Along the way, you will have the opportunity to put your game ideas in front of your peers. The capstone experience gives you the opportunity to push your skills further and demonstrate your newfound skills as a game developer. The capstone also contains guest talks from game industry professionals at Riot Games, Blizzard Entertainment, Insomniac Games, Gearbox Entertainment, Iron Galaxy, Deep Silver Volition, Goodgame Studios, Stardock, GREE, Heart Shaped Games, and more.

Nov 9th 2026
4 Weeks
Single Page Web Applications with AngularJS (Coursera) Coursera
Johns Hopkins University

Single Page Web Applications with AngularJS (Coursera)

Do you want to write powerful, maintainable, and testable front end applications faster and with less code? Then consider joining this course to gain skills in one of the most popular Single Page Application (SPA) frameworks today, AngularJS. Developed and backed by Google, AngularJS is a very marketable skill to acquire.

Nov 9th 2026
5-12 Weeks
Mastering Programming with MATLAB (Coursera) Coursera
Vanderbilt University

Mastering Programming with MATLAB (Coursera)

The course builds on the foundation laid by the first course of the Specialization called “Introduction to Programming with MATLAB.” It covers more advanced programming concepts such as recursion, vectorization, function handles, algorithm efficiency and others. At the same time, it presents many features that make MATLAB a powerful programming environment for engineering and scientific computing, such as its support for object oriented programming, the new user interface design environment and Live Scripts.

Nov 9th 2026
5-12 Weeks
Functional Programming Principles in Scala (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Functional Programming Principles in Scala (Coursera)

Functional programming is becoming increasingly widespread in industry. This trend is driven by the adoption of Scala as the main programming language for many applications. Scala fuses functional and object-oriented programming in a practical package. It interoperates seamlessly with both Java and Javascript. Scala is the implementation language of many important frameworks, including Apache Spark, Kafka, and Akka. It provides the core infrastructure for sites such as Twitter, Tumblr and also Coursera.

Nov 9th 2026
5-12 Weeks
Object-oriented programming (Coursera) Coursera
Higher School of Economics - HSE University

Object-oriented programming (Coursera)

This course is primarily intended for students with basic programming knowledge who want to develop their C++ programming skills and learn about OOP in the context of C++. You will understand the advantages and features of OOP over procedural programming. In addition, you will become familiar with the standard template library and CMake, a tool for building, testing, and packaging software.

Nov 9th 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.

Nov 9th 2026
4 Weeks
Introducción a UML (Coursera) Coursera
Universidad de los Andes

Introducción a UML (Coursera)

Bienvenidos a este curso de introducción al Lenguaje de Modelado Unificado, o UML por su sigla en inglés. Este curso surge como respuesta a la necesidad de los ingenieros de software de desarrollar la habilidad de abstraer y representar en un modelo problemas o soluciones. Esta habilidad es especialmente importante en el mundo del software donde las tecnologías son tan cambiantes. Un modelo te provee una forma de comunicar y validar un entendimiento, independiente de la tecnología en la que construirás una solución.

Nov 23rd 2026
4 Weeks
Python Scripting: Files, Inheritance, and Databases (Coursera) Coursera
LearnQuest

Python Scripting: Files, Inheritance, and Databases (Coursera)

This course is the third course in a series that aims to prepare you for a role working as a programmer. In this course, you will be introduced to the three main concepts in programming: Files, Inheritance and external libaries. Labs will allow the students to apply the material in the lectures in simple computer programs designed to re-enforce the material in the lesson.

Nov 9th 2026
4 Weeks
Object-Oriented Python: Inheritance and Encapsulation (Coursera) Coursera
Codio

Object-Oriented Python: Inheritance and Encapsulation (Coursera)

Code and run your first python program in minutes without installing anything! This course is designed for learners with limited coding experience, providing a solid foundation of not just python, 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.

Nov 9th 2026
4 Weeks
Game Design and Development 3: 3D Shooter (Coursera) Coursera
Michigan State University

Game Design and Development 3: 3D Shooter (Coursera)

If you love games and want to learn how to make them, then this course is your third step down that path. In this course you will learn the fundamentals of game design, including an understanding of level design, game balancing, prototyping, and playtesting, as well as game asset creation techniques. You will continue 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 a 3D First-Person Shooter game, and will be able to leverage an array of game development techniques to create your own basic games.

Nov 9th 2026
4 Weeks
Open Source Programming - Master's (Coursera) Coursera
Illinois Tech

Open Source Programming - Master's (Coursera)

Contemporary open-source programming languages and frameworks are presented in this course. Students will consider design and development topics in system, graphical user interface, network, and web programming. Dynamic scripting languages are covered using object-oriented, concurrent, and functional programming paradigms. Concepts gained throughout the course are reinforced with numerous exercises which will culminate in an open-source programming project.

Nov 23rd 2026
5-12 Weeks
Programming Languages, Part C (Coursera) Coursera
University of Washington

Programming Languages, Part C (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Nov 16th 2026
3 Weeks