The introduction of PCG and HDA in Unreal Engine has made procedural content generation accessible to a wide range of game developers. Naturally, teams were amazed by the range of possibilities and immediately wanted to make entire worlds procedural. And this is exactly where the question I want to raise in this article begins. The question I had to answer sounded roughly like this:
Where is the boundary beyond which procedural generation stops saving development time and starts existing for its own sake?
Here’s a short list of tools that significantly improved production speed:
At least a dozen different tools were created based on procedural instancing; many of them include simple compute shaders in the pipeline.
I developed a tool for mesh decals. You place components in the editor, and in-game they become ISMs. It’s similar to PLA, but rendered in a single draw call. Since the geometry and material are the same, variation is controlled via CPD. There are also no additional assets like separate levels and actors in the content—everything is configured directly within the actor instance on the level.
Some of the low-poly meshes were generated procedurally and undoubtedly sped up production by an order of magnitude.

• Procedural road surfacing with tyre-mark masks. An approach that enables junctions of any configuration to be generated using splines for each lane.
• Procedural pavements with various surface types and integrated green areas. These respond to pedestrian crossings by dropping curbs and adding the appropriate surface treatments, traffic lights, and pedestrian guardrails.
These tools proved to be an ideal solution. The team was impressed by how quickly the map was expanding.
However, not everything went smoothly. The building generator had been in development for quite some time. Its algorithms were continuously refined, yet it was difficult to get rid of the sense of generic repetition. Naturally, landmarks were created separately — we focused on generating only buildings that didn’t particularly stand out. Even so, the combinatorial variety of facade elements, multiplied by the range of shopfronts and the diversity of roof shapes, made the task truly substantial.
As time went on, we decided to try assembling buildings manually in the editor, as this approach would reliably solve the issue of generic repetition caused by the generator.
Almost everyone is familiar with PLA, but far fewer realise that it is hierarchical and can consist of nested PLAs. With prior experience working with such setups, it was fairly straightforward to build a library of compositions representing building fragments, and then combine them into unique variations. This allowed us to start constructing block after block quite quickly, and—most importantly—with a convincing sense of authenticity. Surprisingly, even given the substantial size of our map, the speed of manual assembly comfortably fit within the allocated production timeframe.
And this brings us to the central question of this article: where is the line of practicality for a procedural approach? I may be biased, as procedural generation is my area of responsibility. However, it must be acknowledged that for a game project where the artistic aspect is paramount, neither Wave Function Collapse nor rule-based/grammar systems are suitable, as their mathematical variability is clearly noticeable.
My summary is this: in virtually all game projects, procedural generation has a broad range of applications, as confirmed by both my own experience and that of my colleagues. However, there are tasks that require a more measured approach—if a procedural solution starts to increase production time and complicate the workflow instead of making it more efficient, it’s important to recognise that and stop in time.
And finally, the last conclusion I’d like to share: essentially, we replaced “grammar” with human-authored compositions—and it worked. That’s precisely why I consider this an ideal area for AI to operate in, not to mention generating metadata for other procedural tools. After all, tasks like transferring road markings or block outlines from Google Maps can hardly be considered engaging work for game developers.