A two-year Unreal Engine engagement that automated the creation of 17,000 real-world golf courses for a global simulation platform
Three custom Unreal Engine tools. A fully automated course generation pipeline. Satellite data integration via Cesium. Heightmap imports, landscape material generation, top-down HUD rendering, cloud streaming, and 17,000 courses built and delivered — work that previously took artists days reduced to a few button clicks.
17,000 courses. Manual artist workflows. Satellite data that wouldn't scale. Two years to solve all of it.
Manual course creation didn't scale
Every golf course required an artist to manually create directories, generate landscape materials, set up grass files, import heightmaps, and connect every asset by hand. A process that worked for ten courses was completely unviable at 17,000. The entire workflow had to be automated without removing artist control over the final result.
Cesium satellite data had hard limits
Cesium doesn't allow data to be pushed to Unreal in the quantities required for a pipeline of this scale. Getting the satellite and topographical data needed to generate accurate real-world course landscapes required building a custom database on the Cesium JSON module — a workaround that didn't exist before this project.
Course accuracy across wildly different environments
Golf courses range from coastal links to desert layouts to parkland courses in dense forest. Each environment type requires different materials, vegetation systems, water bodies, and terrain handling. Building a pipeline that produced accurate, visually distinct results across all course types — at scale — required separate systems for desert enhancement, tree and bush placement, water body creation, and deep rough generation.
Cloud generation, delivery, and streaming at scale
17,000 courses had to be automatically generated, packaged as pak files, uploaded to cloud storage, and made available for users to download and stream — with a database management system keeping everything organised and a viewing system letting users browse before downloading. Building that entire delivery infrastructure was as complex as building the courses themselves.
From raw satellite data to a playable, streamable golf course — automatically
Automating what artists do by hand — without taking their hands off the wheel
The Course Setup Tool had to automate a dozen interdependent operations — directory creation, runtime virtual texture generation, grass file copying and renaming, landscape material creation with custom layer blending, heightmap import with scale and positioning, shape file import, and ortho satellite image integration — all triggered from a single editor panel with named inputs and one-click execution per stage. The challenge was that each operation depended on the previous one completing correctly, and artists still needed to be able to intervene, adjust scale, add custom layers, and reapply settings without breaking the pipeline state. Building that level of automation while preserving artist control required careful design of the tool's state management and a clear visual feedback system — checkmarks, field locking, and reapply functionality — so artists always knew exactly where they were in the process.
The top-down camera and HUD tool introduced a different category of technical complexity. Generating accurate alpha-masked top-down hole preview images required calculating camera frustum bounds using GetViewFrustumBounds(), running GetLineSplineIntersections at the frustum plane to generate a spline-shaped alpha texture, merging that with the captured UTexture snapshot, and saving the combined output with correct naming conventions per hole per map — all from a single editor window with full artist control over camera placement, snapshot quality, and object layer visibility. Coordinating all of that into a tool that felt simple to use from the artist's perspective required seven weeks of phased implementation and close iteration with the client's own technical team.
Every course runs the same automated pipeline — from raw data to playable environment
Three tools. One pipeline. 17,000 courses.
Automated course creation in minutes
A custom Unreal Engine editor tool that generates all directories, landscape materials, grass files, runtime virtual textures, heightmap imports, shape files, and ortho satellite images for a new golf course from a single panel. What previously took artists days now takes minutes — with full control retained at every step.
17,000 real-world courses from satellite data
An automated pipeline that validates iGolf course data, stitches Cesium satellite imagery to painted landscapes, generates terrain from heightmap data, applies vegetation, water bodies, buildings, pathways, and course-specific materials — then packages and uploads each course as a pak file for cloud streaming and download.
Automated top-down hole preview rendering
A custom Unreal Engine editor tool that automatically places cameras, calculates frustum bounds, generates alpha-masked spline-shaped textures, and produces top-down hole preview images for every hole in every course — used directly in the game HUD, generated without manual photography or image editing.
Generation, upload, download, and streaming
A complete course delivery infrastructure — automatic pak file generation and verification, cloud upload, database management, a viewing system for browsing courses before download, and a streaming system that lets users access courses without downloading the full file. Built to handle 17,000 courses at launch and scale beyond.
17,000 real-world courses. Delivered on schedule. Demonstrated at the world's largest golf industry event.
Need to build something at a scale that rules out doing it by hand?
We've built automated generation pipelines that turned multi-day manual processes into minutes — across 17,000 real-world environments. If your project needs custom tooling, deep engine integration, and the engineering discipline to deliver at scale, let's talk.
Let's Talk →