Uploaded May 2026 | Updated September 2026, 2 weeks ago
Project Files: patreon.com/posts/157863513 .
Free Playable Demo: patreon.com/posts/157984927
PlanetGen is a runtime C++ plugin (with full Blueprint support) for Unreal Engine 5 that generates streaming procedural spherical terrain — a full planet you can fly around, land on, and explore. Async chunk streaming, layered 3D noise, biome blending, foliage, and a water sphere, all without blocking the game thread.
Drop ACLMPlanet into your level, assign a material, and click Preview Planet. Hit Randomize for a new world.
──────────────────────────────
CORE FEATURES
──────────────────────────────
▸ Spherical Streaming Terrain — Cube-face parameterization divides the sphere into 6 faces, each streamed as a grid of chunks. Actor pool recycles chunks at runtime — no spawn/destroy overhead.
▸ 3D Noise Sampling — All noise is sampled in 3D world space, ensuring perfectly uniform terrain on every face with zero equatorial stretching. No distortion at the poles or seams between faces.
▸ Async Mesh Generation — Geometry built entirely on a thread pool. Game thread is never blocked.
▸ Layered Noise Stack — Stack up to N noise layers. Layer 0 acts as a continental mask controlling where mountains appear vs flat plains. Built-in presets: HighDetail, Smooth, Mountains.
▸ FastNoise Lite Integration — Perlin, OpenSimplex2, Cellular, Ridged Multifractal, Domain Warp Progressive (MIT licensed, ships with source).
▸ Biome Blending — Vertex color blend weights for Grass / Rock / Snow / Underwater. Plug directly into any landscape material. Compatible with WorldGen flat terrain materials.
▸ Foliage System — BiomeFoliageAsset data assets drive HISM scatter on the thread pool. Per-mesh density, height, slope, scale, clustering, and collision. Same data assets as WorldGen flat terrain — configure once, use on both.
▸ Dense Grass System — WorldGenGrassAsset data assets drive ISM ground cover at high resolution. Slope-aware instance sinking, surface normal alignment, per-chunk random jitter. Same data assets as WorldGen flat terrain.
▸ Procedural Water Sphere — Smooth UV sphere at sea level. Configurable subdivisions (default 64) for silky-smooth appearance at any planet scale.
▸ Seed and Randomize — Every planet is seeded and deterministic. One click generates a completely new world. Seed is exposed so you can save and share specific planets.
▸ ACLMPlanetSunSky subclass — Optional subclass with full SunSky integration. Requires SunPositionCalculator plugin (bundled with UE5). Automatically configures the scene's SkyAtmosphere radius and VolumetricCloud layer height to match your planet size.
▸ Editor Preview — CallInEditor buttons (Preview Planet, Clear Planet, Randomize Planet) rebuild terrain without entering Play mode.
──────────────────────────────
TECHNICAL HIGHLIGHTS
──────────────────────────────
▸ Full Blueprint Support — All properties are Blueprint-readable and writable. PreviewPlanet(), ClearPlanet(), and RandomizePlanet() are all Blueprint-callable at runtime. Trigger planet rebuilds, seed changes, or clear events from any Blueprint graph.
▸ ProceduralMeshComponent-based geometry
▸ Cube-face parameterization — equal-area distribution, no pole distortion
▸ 3D noise sampling — zero equatorial stretching on any planet size
▸ Fully exposed parameter categories with tooltips and clamped slider ranges
▸ Seeded RNG per chunk — deterministic foliage placement
▸ Compatible with WorldGen flat terrain foliage and grass data assets
──────────────────────────────
INCLUDED
──────────────────────────────
▸ Full C++ source
▸ Pre-built planet material (M_Planet) with biome blending wired up
▸ Water sphere material
▸ Sample foliage data asset (trees, pine)
▸ Sample grass data asset (grass clump)
▸ Sample tree and pine meshes with materials
▸ Sample grass mesh with material
▸ BPCLMPlanet Blueprint subclass for easy editor configuration
▸ PlanetMap demo level — ready to Preview Planet out of the box
──────────────────────────────
PERFECT FOR
──────────────────────────────
Space games, planetary exploration, sci-fi survival, alien world prototypes, and any project needing a fully streaming spherical planet with real terrain — without writing cube-sphere math, noise systems, or chunk management code from scratch.
► 👇 𝐒𝐮𝐩𝐩𝐨𝐫𝐭 𝐓𝐡𝐞 𝐂𝐡𝐚𝐧𝐧𝐞𝐥 // 𝐁𝐞𝐜𝐨𝐦𝐞 𝐀 𝐏𝐚𝐭𝐫𝐨𝐧!
patreon.com/codelikeme
►Patrons will have access to project files of all the stuff I do in the channel and other extra benefits
Join this channel to get access to perks:
youtube.com/channel/UClb6Jh9EBV7a_Nm52Ipll_Q/join
Like my facebook page for more content : facebook.com/gamedevelopersclub
Follow me on twitter : twitter.com/CodeLikeMe2
Follow me on reddit : reddit.com/user/codelikeme
#CodeLikeMe #unrealengine #ue5 #ue4 #indiegamedev
Project Files: patreon.com/posts/157863513 .
Free Playable Demo: patreon.com/posts/157984927
PlanetGen is a runtime C++ plugin (with full Blueprint support) for Unreal Engine 5 that generates streaming procedural spherical terrain — a full planet you can fly around, land on, and explore. Async chunk streaming, layered 3D noise, biome blending, foliage, and a water sphere, all without blocking the game thread.
Drop ACLMPlanet into your level, assign a material, and click Preview Planet. Hit Randomize for a new world.
──────────────────────────────
CORE FEATURES
──────────────────────────────
▸ Spherical Streaming Terrain — Cube-face parameterization divides the sphere into 6 faces, each streamed as a grid of chunks. Actor pool recycles chunks at runtime — no spawn/destroy overhead.
▸ 3D Noise Sampling — All noise is sampled in 3D world space, ensuring perfectly uniform terrain on every face with zero equatorial stretching. No distortion at the poles or seams between faces.
▸ Async Mesh Generation — Geometry built entirely on a thread pool. Game thread is never blocked.
▸ Layered Noise Stack — Stack up to N noise layers. Layer 0 acts as a continental mask controlling where mountains appear vs flat plains. Built-in presets: HighDetail, Smooth, Mountains.
▸ FastNoise Lite Integration — Perlin, OpenSimplex2, Cellular, Ridged Multifractal, Domain Warp Progressive (MIT licensed, ships with source).
▸ Biome Blending — Vertex color blend weights for Grass / Rock / Snow / Underwater. Plug directly into any landscape material. Compatible with WorldGen flat terrain materials.
▸ Foliage System — BiomeFoliageAsset data assets drive HISM scatter on the thread pool. Per-mesh density, height, slope, scale, clustering, and collision. Same data assets as WorldGen flat terrain — configure once, use on both.
▸ Dense Grass System — WorldGenGrassAsset data assets drive ISM ground cover at high resolution. Slope-aware instance sinking, surface normal alignment, per-chunk random jitter. Same data assets as WorldGen flat terrain.
▸ Procedural Water Sphere — Smooth UV sphere at sea level. Configurable subdivisions (default 64) for silky-smooth appearance at any planet scale.
▸ Seed and Randomize — Every planet is seeded and deterministic. One click generates a completely new world. Seed is exposed so you can save and share specific planets.
▸ ACLMPlanetSunSky subclass — Optional subclass with full SunSky integration. Requires SunPositionCalculator plugin (bundled with UE5). Automatically configures the scene's SkyAtmosphere radius and VolumetricCloud layer height to match your planet size.
▸ Editor Preview — CallInEditor buttons (Preview Planet, Clear Planet, Randomize Planet) rebuild terrain without entering Play mode.
──────────────────────────────
TECHNICAL HIGHLIGHTS
──────────────────────────────
▸ Full Blueprint Support — All properties are Blueprint-readable and writable. PreviewPlanet(), ClearPlanet(), and RandomizePlanet() are all Blueprint-callable at runtime. Trigger planet rebuilds, seed changes, or clear events from any Blueprint graph.
▸ ProceduralMeshComponent-based geometry
▸ Cube-face parameterization — equal-area distribution, no pole distortion
▸ 3D noise sampling — zero equatorial stretching on any planet size
▸ Fully exposed parameter categories with tooltips and clamped slider ranges
▸ Seeded RNG per chunk — deterministic foliage placement
▸ Compatible with WorldGen flat terrain foliage and grass data assets
──────────────────────────────
INCLUDED
──────────────────────────────
▸ Full C++ source
▸ Pre-built planet material (M_Planet) with biome blending wired up
▸ Water sphere material
▸ Sample foliage data asset (trees, pine)
▸ Sample grass data asset (grass clump)
▸ Sample tree and pine meshes with materials
▸ Sample grass mesh with material
▸ BPCLMPlanet Blueprint subclass for easy editor configuration
▸ PlanetMap demo level — ready to Preview Planet out of the box
──────────────────────────────
PERFECT FOR
──────────────────────────────
Space games, planetary exploration, sci-fi survival, alien world prototypes, and any project needing a fully streaming spherical planet with real terrain — without writing cube-sphere math, noise systems, or chunk management code from scratch.
► 👇 𝐒𝐮𝐩𝐩𝐨𝐫𝐭 𝐓𝐡𝐞 𝐂𝐡𝐚𝐧𝐧𝐞𝐥 // 𝐁𝐞𝐜𝐨𝐦𝐞 𝐀 𝐏𝐚𝐭𝐫𝐨𝐧!
patreon.com/codelikeme
►Patrons will have access to project files of all the stuff I do in the channel and other extra benefits
Join this channel to get access to perks:
youtube.com/channel/UClb6Jh9EBV7a_Nm52Ipll_Q/join
Like my facebook page for more content : facebook.com/gamedevelopersclub
Follow me on twitter : twitter.com/CodeLikeMe2
Follow me on reddit : reddit.com/user/codelikeme
#CodeLikeMe #unrealengine #ue5 #ue4 #indiegamedev
![Why More FPS Made My UE5 Game Feel WORSE
I packaged my UE5 city builder, ran it at 200+ FPS, and it felt awful. Stuttery, jolty, every camera pan made me wince. The fix was three lines in an ini file. Heres the story.
This video walks through how I diagnosed it with `stat unit` and `stat unitgraph`, why high FPS made the same spike feel six times worse than it would at 60 FPS, the math behind perceived smoothness, and the exact `DefaultEngine.ini` changes that fixed it. The deeper lesson — variance beats raw rate — applies to most performance work, not just UE.
The underlying chunk-upload spike that caused this is still there; capping the FPS just changed how big it felt. The proper fix (PSO precaching, lowering MaxBuildsPerFrame, foliage density tuning) is a separate video. For now, the cap ships.
────────────────────────────────────────
🎮 PROJECTS IN THIS VIDEO
────────────────────────────────────────
► CityGen on FAB (just released!): https://www.fab.com/listings/943e7e83-f24c-4914-a3b5-d6ac38a9f017
► WorldGen on FAB: https://www.fab.com/listings/e4e93fbe-9326-40b8-a043-a809f788306a
► Patreon (early access + project files): https://www.patreon.com/posts/160090493
[TIMESTAMPS — to be added after edit, from transcript]
────────────────────────────────────────
🎮 SUPPORT & COMMUNITY
────────────────────────────────────────
► Patreon: https://www.patreon.com/cw/CodeLikeMe
► Subscribe: https://www.youtube.com/codelikeme
────────────────────────────────────────
#UnrealEngine #UE5 #GameDev #FramePacing #VSync #IndieDev #GamePerformance #CodeLikeMe #UE5Tutorial #UnrealEngine5
► 👇 𝐒𝐮𝐩𝐩𝐨𝐫𝐭 𝐓𝐡𝐞 𝐂𝐡𝐚𝐧𝐧𝐞𝐥 // 𝐁𝐞𝐜𝐨𝐦𝐞 𝐀 𝐏𝐚𝐭𝐫𝐨𝐧!
https://www.patreon.com/codelikeme Why More FPS Made My UE5 Game Feel WORSE](https://i.ytimg.com/vi/lxMhZPP2-oY/mqdefault.jpg)









