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

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.

Aug 31st 2026
4 Weeks
Game Design and Development 4: 3D Platformer (Coursera) Coursera
Michigan State University

Game Design and Development 4: 3D Platformer (Coursera)

If you love games and want to learn how to make them, then this course is your fourth step down that path. In this course you will learn the fundamentals of game design, including an understanding of game idea generation, design documentation, the business side of games, and social issues in games. 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 Platformer game, and will be able to leverage an array of game development techniques to create your own basic games.

Aug 31st 2026
4 Weeks
Python Classes and Inheritance (Coursera) Coursera
University of Michigan

Python Classes and Inheritance (Coursera)

This course introduces classes, instances, and inheritance. You will learn how to use classes to represent data in concise and natural ways. You'll also learn how to override built-in methods and how to create "inherited" classes that reuse functionality. You'll also learn about how to design classes. Finally, you will be introduced to the good programming habit of writing automated tests for their own code.

Aug 31st 2026
3 Weeks
Cloud Computing Concepts, Part 1 (Coursera) Coursera
University of Illinois at Urbana-Champaign

Cloud Computing Concepts, Part 1 (Coursera)

Cloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies—all centered around distributed systems. Learn about such fundamental distributed computing "concepts" for cloud computing. Some of these concepts include: clouds, MapReduce, key-value/NoSQL stores, classical distributed algorithms, widely-used distributed algorithms, scalability, trending areas, and much, much more!

Aug 31st 2026
5-12 Weeks
The Finite Element Method for Problems in Physics (Coursera) Coursera
University of Michigan

The Finite Element Method for Problems in Physics (Coursera)

This course is an introduction to the finite element method as applicable to a range of problems in physics and engineering sciences. The treatment is mathematical, but only for the purpose of clarifying the formulation. The emphasis is on coding up the formulations in a modern, open-source environment that can be expanded to other applications, subsequently.

Sep 7th 2026
13-24 Weeks
Introduction to Java and Object-Oriented Programming (Coursera) Coursera
University of Pennsylvania

Introduction to Java and Object-Oriented Programming (Coursera)

This course provides an introduction to the Java language and object-oriented programming, including an overview of Java syntax and how it differs from a language like Python. Students will learn how to write custom Java classes and methods, and how to test their code using unit testing and test-driven development. Topics include basic data structures like Arrays and ArrayLists and overloading methods.

Aug 31st 2026
3 Weeks
Object-Oriented Hierarchies in Java (Coursera) Coursera
LearnQuest

Object-Oriented Hierarchies in Java (Coursera)

Object-Oriented Hierarchies in Java is the third of a series of courses in the Core Java Specialization. The Core Java Specialization is part of a series of programming specializations, derived from LearnQuest's private Java Bootcamps, designed to provide the skill set necessary to be hired as an IT developer using Java in many corporate environments.

Aug 31st 2026
5-12 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.

Sep 7th 2026
1 Week
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.

Aug 31st 2026
4 Weeks
Introduction to Genetics and Evolution (Coursera) Coursera
Duke University

Introduction to Genetics and Evolution (Coursera)

Introduction to Genetics and Evolution is a college-level class being offered simultaneously to new students at Duke University. The course gives interested people a very basic overview of some principles behind these very fundamental areas of biology. We often hear about new "genome sequences," commercial kits that can tell you about your ancestry (including pre-human) from your DNA or disease predispositions, debates about the truth of evolution, why animals behave the way they do, and how people found "genetic evidence for natural selection." This course provides the basic biology you need to understand all of these issues better, tries to clarify some misconceptions, and tries to prepare students for future, more advanced coursework in Biology (and especially evolutionary genetics). No prior coursework is assumed.

Aug 31st 2026
5-12 Weeks
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.

Aug 31st 2026
4 Weeks