The Procedural Content Generation framework is one of the exciting recent additions to Unreal Engine. Introduced with version 5.2 in May of this year, it provides a robust tool set for procedurally generating content in Unreal Engine without the need for any additional software or plugins. In practice, it can be used for a wide variety of applications, ranging from entire planets to much smaller features like moss growth on a tree branch. The Procedural Content Generation framework doesn’t just have to be used for generating 3D assets either! In this post, we’re going to take a closer look at Unreal Engine’s Procedural Content Generation framework, including the basic functionality, examples in use, and recently added updates.
Unreal Engine Procedural Content Generation Framework: The Basics
Procedural Generation at Any Scale
So, what exactly is the Procedural Content Generation framework in Unreal Engine? The Procedural Content Generation framework allows artists and designers to procedurally generate content in Unreal Engine without the need for any external tools or additional plugins. It can be used to rapidly populate environments with assets, whether that means adding buildings to a city or trees to a forest.
As mentioned in the intro, Procedural Content Generation doesn’t always have to be used for large scale environment generation, either. In the example below, it is used to procedurally populate mushrooms on a log.
Procedural Generation in Real Time
Another exciting aspect of the Procedural Content Generation framework is that it can also be used in real-time. According to the press release from version 5.2 of Unreal Engine, the Procedural Content Generation framework (PCG) “offers the ability to populate large scenes with Unreal Engine assets at your disposal, while including both in-editor tools and a runtime component.”1 Environments, level layouts, and more can be made responsive and dynamic in a whole new way.
For users already familiar with Unreal Engine’s node-based programming environment for blueprints and materials, using the Procedural Content Generation framework should be a breeze. It uses the same node graph system, but with nodes specific to the PCG framework.
Many examples, including the one we’ll look at next, focus on the use of Procedural Content Generation for creating natural looking environments, but it’s important to note that the framework can be used with any asset in Unreal Engine.
Electric Dreams: Procedural Content Generation in Practice
The example images of a lush, green forest seen above and in the last section are actually views from the Electric Dreams Environment Sample Project, a freely downloadable project file that showcases Procedural Content Generation in action on a large scale. Electric Dreams was first shown as a demo of new Unreal Engine features at GDC 2023 and has since been released to the Unreal Engine Marketplace.
Aside from the very (!) visually impressive content, the Electric Dreams project is also a great learning tool for users looking to dig into a high-level example of PCG in use. As seen in the image above, the levels are filled with text descriptions that provide reference for the techniques used.
Tools For Refining PCG Asset Placement
Sometimes, it’s important for the PCG system to know where not to place an object in a particular location. The examples in Electric Dreams showcase useful tools and features for fine-tuning the procedural placement of assets that might be less obvious to first-time users. In the following image, large flat stones are procedurally placed into a level using PCG, but end up partially floating because of the terrain and objects already on the ground.
The next image shows the use of the Flat Area Detector Subgraph, a tool which is used to detect whether an area is flat enough for the placement of an object. In this case, it is used to find suitable locations for placing the flat stones. Pretty cool, huh? This is just one example of the tools available for refining and customizing PCG within your project.
As the above examples illustrate, the Electric Dreams Environment Sample Project is a great resource for hands-on learning about Procedural Content Generation. If you’re interested in learning more about how PCG is used in the project, check out the Procedural Content Generation in Electric Dreams article from the Unreal Engine Docs!
Get Our 7 Core TouchDesigner Templates, FREE
We’re making our 7 core project file templates available – for free.
These templates shed light into the most useful and sometimes obtuse features of TouchDesigner.
They’re designed to be immediately applicable for the complete TouchDesigner beginner, while also providing inspiration for the advanced user.
PCG Updates in Unreal Engine 5.3
As the PCG framework is still a recent addition to Unreal Engine, improvements and new features are being added frequently. In the most recent release, which dropped several weeks ago, a couple of PCG features were included. Most of these were workflow or performance improvements, but one that stood out in particular is the new ability to process external data like Alembic point clouds and data tables, and produce artifacts on target actors.
As usual with most topics related to Unreal Engine, we’ve barely scratched the surface of the many, many possibilities that the Procedural Content Generation framework has enabled. In fact, as a recent addition, it’s likely that those possibilities will continue to expand as more people use and experiment with the framework in projects of their own. Hopefully this post has you excited to try out the Procedural Content Generation framework in your own Unreal Engine projects!