Title: “PCG: Advanced Topics & New Features in UE 5.5 | Unreal Fest 2024 – YouTube”Video Transcript: “hi everyone my name is julan I’m the lead tools prammer at Epic and there’s JS I’m jasan gay I’m a technical art director at epic games and I hope everybody got coffee because it’s going to be intense oh yeah all right so let’s get started this is PCG Advanced topics new features in 5.5 so we’re going to go over the agenda quickly we’re going to introduce not really introduce just do a quick overview on some Advent topics we’re going to talk about today and show and show a lot of the features in 5.5 and there’s going to be a very long live demo so let’s get started CU yeah it’s going to be intense so first off attributes uh most of you that are familiar with PCG would know already what attributes are but something that we’re going to Showcase a lot today is using uh not you know scary types and stuff like this but reading a lot of references to objects and data tables and a lot more uh and you know that could be a lot more things as well could be graphs uh settings and and so on um something else we’re going to use are tags on um actors that through the BCG data asset workflow especially when you know we export level instances on top of U uh you know two two BCG data assets finally um about attributes we’re going to talk about match and set which is basically just a kind of a cross reference so you can find a line inside of the the data table assign it to a point or an attribute as well um and yeah because I forgot you know this is building on top of talks from Aon langmaid and um Chris Murphy from this year’s unreal Fest in Prague so if you haven’t seen those you should go back uh they’re pretty good talks okay next next all right multi dat well something that’s maybe less obvious in PCG is that a lot of the nodes are meant to be multi dat and we’ll do parallel processing when we can or you know eventually more and more as we go along we’ll try to uh do that in parallel um and we’ve added a couple notes to support this kind of workflow easier and so that removes the need for some uh sub graphs sometimes or Some Loops that being said Loops are super useful uh you basically break down to your data and and what you want to do so you can do similar work on different data finally recursion uh we’re not going to show today but we’re going to talk a it because it would be a bit too long however uh we’re going to Showcase a lot of control flow stuff which basically allows you to do static or dynamic um control flow in your graphs and yeah that’s it for that art user parameters easy enough these are things you can specify directly at the compon not level for users or inside of graphs as well when you call subgraphs they don’t need to be scaler values either um you know it’s very easy to pass in data tables if you have data from designers you can have graphs you can have a lot of things and that’s extremely useful as well finally runtime hen is something we’ve introduced in 5.4 um and I’ll just do a quick recap here basically it allows you to generate different things at different scales so basically you can pre-compute things at a very large distance and maybe just create you know the visuals when you’re up close or just a physics so you can have something that’s sufficient ATR time all right enough of that because we’re going to go through all of these so first thing we’re going to talk about today is the shap grammar nodes we’ve added in 5 out5 and then we’re going to give you an example of the divide spline ear basically these are just breaking down splines or segments uh According to some a list of module and you know you can do fences buildings and a lot of stuff with that all right Jess let’s go to the editor all right so I’m going to jump in the editor and we’re going to stay there for a while yeah okay here we go so today uh we’re not going to do a forest for once um we’re going to the final frontier space okay so let me jump here uh we’re going to work with grammar and we’re going to show you the grammar uh stuff and to work with grammar uh you actually need to have modules usually it’s a single mesh but in our case it’s going to be uh multiple meses I’ll just going to jump here to the kid Builder where we have our asset zoo and we were able to Leverage The Talisman demo from GDC this year uh content uh to build build a space station so that’s what we’re going to do today uh from all of these modules here that you can see these are all level instances we’re going to extract some properties that we baked into a blueprint component and instead of making our own data table uh we’re actually going to use PCG this time around so on each of these individual modules uh level instances there’s a blueprint component called module info and then there’s a bunch of variables here it’s going to be basically the structure of my data table there’s a name a symbol a level a size and whatever but most importantly there’s a PCG data asset which contains the point cloud of all of the visuals within each of these modules okay so so far so good yep let me bring up some debug here and open up a graph PCG component graph it’s on the other side okay here we go it’s extremely simple um we’re getting the level instances within okay here we go it’s getting just the component references um because there’s no data uh assigned to it Y and once we have those references flowing uh through the graph and to get that table we’re just merging those attributes together so now I have a my allows you to save any PCG data that is flowing in the graph to an asset so jump to a nectar here that was prepared for the for the demo all right we’re going to do some fill the blank here for a second because yeah it’s C war no all right that yeah maybe we could resave it’s kind of weird you couldn’t find it but new in five five but basically just allows you simple attributes and on spines at one level we’re going to call modules instead of AR coding them in the node directly from what we’ve loaded uh and then and we’re going to drive the bug here yep uh and generate ones put that on the side of the screen mean uh that it’s going to try to repeat it as long as there’s space yeah all right so let’s go and yeah hopefully that works all right and then we’re going to PCG data asset from the first point of out of every of the partitions and that that’s going to drive the load PCG data doing asyn loading by default but that’s not new uh from there we were able to get the points and we’re going to match like this removes the need for you know additional Loop loops and stuff like this so it’s very easy now we’ve already and hopefully this will spawn or space station or space station Corridor in this case y okay uh if I drop here and extend it right because it’s hooked on a spline I can just here yeah and I’m going to put in between uh curly brackets the there’s space there uh uh for it and here we go so we have a space station pretty basic stuff very similar to you know what we had shown in the Matrix awakens demo so nothing really of course yeah uh but in this case it it kind of works so in this case the the modules we’re going to place both ends star and here we go shorten the the first thing first and then if it doesn’t fit the second one and so on uh you can have repetitions either with the it’s a bit bare at the moment I think we can do a bit more uh it doesn’t look lived in enough for sure okay uh so uh the PCG data asset workflow and we’ve uh in this case pre-placed uh position uh you can remove the um tripods right yeah you’re right so I can filter them out uh you can make more complex uh decision here you could have of nodes don’t worry nothing is going to happen and it’s desired and yeah we’re we don’t have a landscape uh we’re not doing a forest uh so we want to work with the collisions here the first thing here in the sphere is coming from the new node which is called Point sphere and they’re going to be sent as the more things we’ve added to it as well uh there’s more filtering options and a lot of more data you can get out from it and like distance field because we don’t want to have props in the metal uh in our case we just filter the points at up with potential props position but these props are quite small and they’re examples on on the right there uh we need to load them again so we need to load the content just as we did but to set if you don’t specify criteria it’s just going to do a random choice and it it represent the volume of the props each of these props are made of mult multiple visual once more yeah so we’re going to do filtering logic just on the going to do is a collapse points which basically removes points around the V do interpolation from the source of the target so you can move them together like towards the center of of a cluster overlapping from on each other and we can set it to different settings but in this case we we kind of like uh this over uh so uh let’s make that happen uh a lot of people are asking and it’s been spawning I’m just going to change the full Jaz yeah it’s not going to that’s not going to work yeah exactly so true through the same process as we did with while we were doing the raycast and the environment and finding the hole uh defining the props position we were also some cool stuff uh I’m going to enable what I call the all L braks lose mode instead of placing the props on the floor points we’re actually going to uh more so basically it’s a new node in 55 we’ve added a pathfinding node basically so if let’s say you have cion sorry collisions in the middle maybe you want to stop those points those paths in this more later but yeah yeah we’ll show a bit more later about that but uh you can see that it’s actually a spline meesh here that is um created from BCG as well hell okay so let’s leave this place I think I’m kind of afraid of what’s going device I’m once more going to open open a graph y and I’m also going to show The so get primitive data here uh there’s a tag on these already uh and then we’re another Primitives and it combined them together and it created a footprint uh for uh my cargo bay area yeah once we just going to duplicate this plan assign a symbol to each so in this case it’s going to be I think first floor second floor third floor and then uh any number weird sorry um so yeah we basically we’re going to break down every planine uh maybe we just want to have a filler grammar instead so that’s basically what we’re doing yeah and then we’re just this case we had the Reversed building from inside we want to see from the inside look a bit more Coy for sure yeah and I’ll I’ll actually once more go back to have all of these uh grammar stuff uh we want to present something else yeah so for dynamic meshes uh and interupt with geometry script um and yeah there’s uh so let’s go on yeah let’s go back there uh generate once more so it’s initialized and yes another graph here to use Primitives don’t worry I think you can do much better at home yeah uh than I’m doing right now uh but it’s I nice looking sphere it’s been sent to mesh transform it’s to make actually three rings that is going to surround my device and once the circles it’s just going to be a circle here and I’m going to append a new mesh to every Point position and I dynamic mesh to an asset as a static mesh uh actor in the end we can just disable all of these nodes that are doing the dynamic mesh process since I’ve saved my asset to a static mesh we have the beginning of the device now it’s not cool enough I want to have more well I can use wpo in a material and have per instance uh movement yeah and trying to Spa them in the end so here we go we have some sort of shell around the send it uh send any Dynamic mesh uh like nodes here processing more here we go and in the end after finding the inner otter doing some these okay so more pylons here we go uh to power the device we want to connect just doing some attribute operation here to do uh just change the tangent of the we’ve talked about it already I can just spawn a spline mesh let’s go let’s go back into about the like there’s a few things that aren’t plugged outside right new node right there’s an add component node now and that returns you a reference to the component so you can going to use the most advanced user interface there is the detail panel to fix that okay we’re happy to introduce uh you uh today the GPU editor viewport as a source and yeah that works so we now have rings around Saturn yeah and these are all n neses all 5 million of them want to make you sick and I’ll just go inside so now it’s not only the five compute GPU scene and staning to do so much details uh obviously here uh the 5 filling I don’t know if you can see on the screen but there’s some filler uh being spawn as well through the same if you want to not yeah it’s just looks like a triangle soup at that point but graph okay all right so we’ve added a customon node we’re going to give you declarations so that you’re able to get data from the pins directly uh and uh We’ve also them using the native copy point but in this time around it’s executing on GPU CPU as I said but you can though you’re not forced to stick on GPU uh you can Saturn but then we’re going back into this merge node which pushes back the data just the points through the CPU and position rotation and scale using the GPU compute again and we’re actually spawning through the same process here where we’re actually generating uh the the micro details and uh the filler uh we added a multiplier because of the scale yeah we were working in it allows you to shift the grid to bigger sizes so we can go back to the slide for a sec but it’s going to be a short one uh yeah so we’ve shown custom melon nodes we are data in this case since we never went back to CPU data the CPU we don’t have it um and yeah we’ve shown some more yeah and finally um you know while you know we’ve been working on the demo for like a couple weeks like three two three”Video Summary:
**Video Summary: “PCG: Advanced Topics & New Features in UE 5.5 | Unreal Fest 2024”**
Epic Games’ Julian (Lead Tools Programmer) and Jason Gay (Technical Art Director) present advanced Procedural Content Generation (PCG) features introduced in Unreal Engine 5.5.
—
### 🧠 Core Topics & Concepts
– **Attributes & References** – PCG graphs can now handle complex data types: references to objects, data tables, graphs, and settings. “Match and Set” lets you cross-reference rows in tables and assign attributes dynamically.
– **Tags & Data Assets** – Actors tagged via PCG Data Asset workflow can export level instances for re-use.
– **Multi-data Parallelism** – PCG nodes process multiple datasets in parallel, reducing the need for sub-graphs and loops.
– **Control Flow & Recursion** – Static and dynamic control-flow nodes allow branching and conditional logic within PCG graphs. Recursion is possible but omitted from the demo.
– **User Parameters** – Graphs and components can accept parameter inputs (data tables, graphs, etc.) directly for designer-friendly tuning.
– **Runtime Hierarchical Execution** – Introduced in 5.4 and refined in 5.5; allows multi-scale generation (pre-compute distant details, generate physics or visuals up close).
—
### 🧩 Live Demo Highlights – “Grammar in Space”
1. **Shape Grammar Nodes**
– New in 5.5: modules (“building blocks”) can be arranged along splines using divide spline logic for fences, buildings, and now a space station.
– Each module (implemented as a level instance with a “module info” Blueprint component) stores metadata (name, symbol, size, PCG data asset).
2. **PCG Data Asset Workflow**
– Assets contain point clouds of visual elements and can be merged or matched dynamically in graphs.
– “Save to Asset” node lets you store generated PCG data as a re-usable resource.
3. **Procedural Assembly of a Space Station**
– Modules spawn along a spline with repetition and adaptive fitting logic (fills gaps until space runs out).
– Props and details filtered using **Point Sphere** and **distance field filters** to avoid collision overlaps.
– Introduced **path-finding node** for procedural corridor and walkway placement (avoids obstacles automatically).
4. **Dynamic Meshes & Geometry Script**
– Integration with Geometry Script for runtime mesh generation (e.g., rings and shell structures for devices).
– Dynamic meshes can be saved as static mesh assets to reduce runtime load.
– Added **Add Component Node** and detail-panel support to spawn and modify components directly from PCG.
5. **GPU Viewport & GPU Compute Execution**
– Brand-new GPU editor viewport supports PCG execution on GPU.
– “Custom melon” nodes (aka custom compute kernels) allow users to read/write point data on GPU.
– Demo showed 5 million meshes (instanced in Saturn’s rings) computed entirely on GPU with CPU data handoff only for final merging.
—
### ⚙️ Summary of New Nodes & Features in 5.5
| Category | New Node/Feature | Function |
|———–|——————|———–|
| Geometry | **Shape Grammar** | Rule-based modular assembly along splines |
| Filtering | **Point Sphere** | Generate and filter points within spheres |
| Navigation | **Pathfinding** | Procedural routes around collisions |
| Mesh Ops | **Dynamic Mesh → Static Asset** | Convert runtime geometry to assets |
| Components | **Add Component Node** | Spawn Blueprint components from PCG |
| Performance | **GPU Viewport / GPU Compute** | Execute PCG on GPU with millions of instances |
| Logic | **Match & Set**, **Control Flow**, **User Params** | Dynamic data assignment & conditional logic |
—
### 🚀 Takeaway
Unreal Engine 5.5 turns PCG into a fully fledged procedural framework — not just for landscapes but for space stations, architecture, and runtime devices. It now supports modular grammar rules, parallel and GPU execution, runtime mesh conversion, and data-driven generation —all without leaving the editor.