In-engine · UE5
Live commercial product — TruGolf E6 APEX.
E6 APEX
Team of Keys for TruGolf · 2022 – present · Senior Game Programmer & Team Lead
A pipeline that turns real-world geospatial data into roughly 15,000 playable golf courses.
The problem
Hand-authoring golf courses doesn't scale. TruGolf needed thousands of accurate, playable courses built from real terrain data — and every one of them had to load fast and hold 60 fps on consumer simulator hardware.
What I built
An automated UE5 course-creation pipeline: a Cesium + Unreal path that crops, stitches and streams
large geospatial datasets onto custom landscapes (working around dataset-size and landscape-import
limits), procedural spawning of pathways, water bodies and boundaries, and a custom foliage system.
Then a C++ Course Setup Tool automating directory creation, Runtime Virtual Textures, material
instance cloning and grass-type templates, plus top-down batch snapshot rendering using
GetViewFrustumBounds()
and spline intersections to produce high-precision alpha masks and course maps.
What changed
- ~15,000 unique courses generated from heightmap and geospatial data
- 60 fps held with 5–10M vegetation instances per course via instancing, culling and LOD work
- Course generation cut from 60 minutes to 5–10 minutes
- Load times reduced ~40% through asset, scene and runtime optimisation






