New Unreal Learning Kit: How to make a virtual Rube Goldberg machine

When it comes to Rube Goldberg machines, the wilder and wackier, the better.

The machines are named after American cartoonist Rube Goldberg, whose cartoons often depicted comically over-complicated contraptions built to carry out simple tasks through a convoluted series of chain reactions. Perhaps the most well-known example is the board game Mouse Trap.

Known under various names around the world, Rube Goldberg machines are used extensively in the STEM education space, often in the form of a contest where teams compete to build the most impressive machine.

With the introduction of our new Unreal Learning Kit: Rube Goldberg Machines, students can now build virtual contraptions in Unreal Engine, with the tools developers use to make games like Fortnite.

The new Unreal Learning Kit: Rube Goldberg Machines is the latest in a series of Unreal Learning Kit activities, which aims to give educators everything they need to incorporate game development into their curriculum. The idea is to give students all the tools they need to build projects in Unreal Engine. Previous updates have focused on demonstrating the game development pipeline, and explaining how to build physics-based robots within Epic’s real-time engine.

"Rube Goldberg machines are all about process, cause and effect, and chain reaction,” says Jennifer George, Chief Creative Officer at the Rube Goldberg Institute and the granddaughter of Rube Goldberg himself. “Coding is the same. One thing leads to another and often it requires imagination and complex routing in order to accomplish a simple goal. Unreal Engine’s Rube Goldberg Learning Kit uses graphic animation and the simulation of real physics as the basis for teaching kids about coding. And because it's Rube, there's a hefty dose of humor in the mix too!”

For the Rube Goldberg kit, we are introducing a series of six lessons that educators can start working through today using Unreal Engine. To get involved, you can download the new teacher and student guides from the Unreal Marketplace.

The lessons

Inclined planes

In this activity, students will learn how to use dynamic inclined planes to alter the trajectory of an orange. Set within a kitchen-themed Level, or gameplay area, the activity sees students attempting to land oranges into multiple buckets. Providing hands-on experience in navigating the Unreal Engine 5 interface, the lesson also shows students how to navigate the Details panel to activate physics on a Static Mesh.


In the second lesson, students will learn how to use simple levers to create balanced and unbalanced forces. This lesson serves as an introduction to Actors in Unreal Engine, with students learning how to add them to a Level, and how moving and scaling Actors will affect forces.


For the third lesson, students will use wedges to slice watermelons. They will learn that by altering the angle of a wedge, they can apply more or less force on a surface. Students will then work with Chaos fracturing to shatter a watermelon.

Wheel & axle

For the fourth activity, students learn how to use a wheel and axle, in the form of a lazy Susan, to push a ball into a bucket, while also experimenting with other toys and devices using wheels. They will also use MetaSounds to create a looping sound that plays when triggered.


In the fifth lesson, students will learn how to use a pulley to complete a chain reaction. To do this, they’ll experiment with manipulating the pulley using Unreal Engine’s tools and Widgets. As part of the lesson, students will then generate and customize their own Static Mesh.


In the sixth and final lesson, students will learn how to use a screw to transport a sphere from one location to another within their animated machine. They will also learn about Blueprint Splines and how to manipulate them to create ramps and set up dominos.

    Download the Rube Goldberg learning path today!

    We have lesson plans and student guides ready to go for educators who want to introduce their students to game development in Unreal Engine.