Skip to content

The missing pieces for Unreal's PCG. Graph theory, advanced pathfinding, spatial ops, filtering, asset management, and more.

License

Notifications You must be signed in to change notification settings

Nebukam/PCGExtendedToolkit

UE 5.7 5.6 5.5 5.4 5.3 Ask DeepWiki

PCGEx Logo

PCG Extended Toolkit (PCGEx)

200+ nodes for advanced procedural generation in Unreal Engine
Graph theory, pathfinding, spatial queries, asset management, and more.

DocumentationInstallationChangelogsDiscordSupport on Patreon


What is PCGEx?

PCGEx is a low-level, use-case agnostic toolkit extending Unreal Engine's PCG framework with 200+ nodes.

Vanilla PCG excels at scattering and rule-based placement. PCGEx adds what's missing: structure. Build graphs from points, find paths through them, analyze topology, and work with explicit connections—not just proximity. Delaunay, Voronoi, MST, convex hulls, A* pathfinding, and more.

Graph theory is just the headline. PCGEx is also a comprehensive data manipulation toolkit: spatial queries, sampling, blending, path operations, polygon booleans, asset management, filtering, sorting—the low-level primitives that vanilla PCG doesn't provide. Reusable sub-nodes (filters, heuristics, blenders) plug into operations to keep your graphs clean.

_It doesn't solve specific problems for you. It gives you the tools to solve them yourself.


Getting Started

Installation

PCGEx is available through multiple channels:

  • FAB — Epic's official marketplace
  • Source — Build from GitHub

See the Installation Guide for detailed instructions.

Example Project

The best way to learn PCGEx is through the Example Project, which contains hundred of annotated graphs and complex examples demonstrating PCGEx capabilities.

image

Documentation


Key Features

Clusters & Graphs

The heart of PCGEx. Transform points into connected networks via Delaunay, Voronoi, convex hulls, MST, and custom builders. Every connection is data you can query, filter, refine, and build upon. This is what vanilla PCG can't do.

image

Filter Ecosystem

Define selection logic once, reuse everywhere. AND/OR composition, attribute tests, spatial queries, bitmasks—all as portable sub-nodes that plug into operations. No more duplicating filter chains across your graph.

image

Asset Collections

Curate meshes, actors, and data assets with weighted distribution, tags, and per-entry property overrides. Define a collection once, use it consistently everywhere. The asset management layer vanilla PCG lacks.

image

Paths

Smooth, simplify, subdivide, cut, fuse, offset, bevel. Tangent operations for clean curves. Convert freely between points, paths, and splines. A complete path manipulation toolbox.

image

Pathfinding

A*/Djikstra routing through your clusters with pluggable heuristics. Weight by distance, slope, attributes, or custom logic. Find optimal paths when you need them, without a single loop.

image

Spatial Operations

Point fusion is foundational—merge nearby points with attribute blending. Beyond that: Lloyd relaxation, bin packing, octree queries, bounds analysis. Power tools for when you need them.

image

Sampling & Blending

Transfer data between point sets, surfaces, splines, textures. Configurable weighting and falloff. The glue that connects disparate data sources.

image

Tensors & Vector Fields

Spatial effectors that influence transforms. Stack them for complex directional fields—orienting objects, extruding paths, guiding growth.

image

Probing

Build clusters from connection rules—define how points should connect based on spatial relationships and let PCGEx figure out the graph.

image

Valency (WFC)

Wave Function Collapse for modular generation. Impressive constraint solving with a dedicated editor mode. Eye candy that actually works.

Supporting Tools

Shapes — 2D/3D primitives, Clipper2 polygon booleans.
Topology — Boundary detection, flood fill, island analysis.
Noise — 3D procedural noise for natural variation.
Bridges — Convert between meshes, clusters, and paths.
Utilities — Sorting, partitioning, attributes, hashes, so much more.

image

Interop Plugins

PCGEx has companion plugins for specialized integrations:

Plugin Description
PCGEx + ZoneGraph Generate ZoneGraph data for AI navigation from PCGEx clusters
PCGEx + Watabou Import procedural maps from Watabou's generators

For C++ Developers

PCGEx is designed for extensibility. The plugin provides a robust framework for creating custom PCG nodes with:

  • Processor Pattern — Per-input processing with automatic parallelization across threads
  • Factory System — Pluggable operations (filters, blenders, samplers) via a Settings → Factory → Operation pipeline
  • Data Facades — Type-safe, cached attribute access with thread-safe buffer management
  • Cluster Infrastructure — Full graph/topology data structures ready for custom algorithms

Architecture

The plugin is organized into core modules (foundational infrastructure) and element modules (node implementations):

Core Modules:

PCGExCore          → Data facades, threading primitives, macros, containers
PCGExGraphs        → Graph/cluster structures, node/edge topology
PCGExFilters       → Composable filter system with manager orchestration
PCGExBlending      → Attribute blending with multiple blend modes
PCGExCollections   → Asset collection management, weighted picking
PCGExFoundations   → Polylines, tangents, geometric primitives
PCGExProperties    → Unified property system across modules
PCGExMatching      → Pattern matching framework
PCGExHeuristics    → Heuristic calculations for pathfinding
PCGExNoise3D       → Procedural noise

All processing runs off the game thread with pre-allocated buffers and parallel-safe patterns. Custom nodes inherit these capabilities automatically by extending the appropriate base classes.

See CONTRIBUTING.md for development guidelines.


Support the Project

PCGEx is free and open source under the MIT license. If it's useful to your work, consider:


Acknowledgments

Supporters

Check out the Supporters page on Gitbook!

Special thanks to Sine Nomine Associates for generously providing and maintaining the automated Linux build infrastructure.

Special Thanks

@MikeC Reckless experiments, feedback, and suggestions that shaped the plugin into what it is today
@Amathlog Epic Games staff, invaluable PCG framework guidance
@Erlandys Advanced C++ insights
@Syscrusher Linux support and maintenance
@staminajim, @MaximeDup and @EmSeta macOS compatibility

And all the contributors who make this project better! ❤️

Third-Party Libraries

  • delaunator-cpp — Fast Delaunay triangulation
  • Clipper2 — Polygon clipping and offsetting (modified C++ port, v2.0.1) by Angus Johnson

License

MIT License — Free for personal and commercial use. Attribution appreciated but not required.