Planet Generator - Procedural Planets for Unity
A downloadable game
Procedural planets that are playable, not just pretty. A seed and ~90 numbers become a cube-sphere world where 50–75% of the surface is walkable by construction — with player starts, gold mines, and guaranteed-connected roads already carved in.
⚠️ Read this first 🖌️ Built-in RP only. The terrain shader won't compile under URP/HDRP, but mesh, walkable tuning, region planner, roads, and scatter are pipeline-independent (colors bake to CPU-side ramp textures). Setup Check flags SRP projects; docs cover the port. 🧪 Early beta — deterministic, feature-complete, API not frozen. Saved planets upgrade across versions; custom code against settings might not. 🚫 No art included. Prefab slots for starts, gold, and trees ship empty on purpose.
🌍 A planet is a seed
Custom noise/RNG (not Mathf.PerlinNoise or System.Random) means the same seed regenerates identically forever, across Unity versions and platforms. A whole planet saves as a ~4 KB JSON — diffable, commit-friendly.
📊 Playable by construction Three binary searches, decoupled by design:
- 🌊 Sea level → water share (mountains only add height above shoreline)
- ⛰️ Mountain scale → walkable share
- 🏔️ Land height scale → kicks in only if mountain scale bottoms out
Each pass multiplies cached height values — no re-noising, so tuning is sub-second. Across 12 test seeds, every planet landed inside the 50–75% band, with both walkable % and legal nav-node % printed after every build.
🗺️ Maps, not just spheres
- 🚩 2–8 player starts, spacing from Furthest to Random, clamped to physically possible separation
- 🏗️ Flattened plateaus with blended shoulders, minimum height above sea level
- 💰 Symmetric gold mines per player
- 🌾 Neutral plains away from starts
- 🛤️ Roads (Ring / Ring+diagonals / Full mesh), connectivity verified after every build
- 🌿 Branch paths extending walkable coverage, respecting minimum patch size
🌊 Oceans that are actually oceans Ocean/mountain concentration dials pool water and ranges into basins/belts instead of even puddles — same total share, real geography. Mountain belts get taller to compensate, like real ranges.
🎨 Colour that doesn't look like a gradient Height-based ramps, latitude-driven biomes with noise-warped borders, exact biome shares (via Archimedes' hat-box theorem), threshold-based bare rock, and macro hue/value variation. Bakes to two ramp textures + 3 UV channels — cheap fragment shader, no per-pixel height math.
🌲 Scatter that lands where it should
Named layers (trees, rocks, ore) with clustering, spacing, edge bias, and guaranteed presence near starts/roads. A configurable fraction can land on unwalkable ground for free cliff detail.
🧰 Tooling
- 🪟 Generator window with persistent prefab slots (asset GUIDs)
- 💾 Planet Preset ScriptableObjects (Create / Apply / Capture)
- 🩺 Setup Check — 21 findings, 7 groups, silent when clean (one first-run info message, ever)
🧩 Zero dependencies — only System, System.Collections.Generic, System.Diagnostics, System.IO, UnityEngine. Optional reflection-based integration with Planet Pathfinder.
📦 Box contents: 14 runtime + 8 editor scripts (~9,900 lines), 2 asmdefs, 1 Built-in RP shader, 3 example JSONs, full docs, README, CHANGELOG, LICENSE.
✅ Requirements: Unity 6000.2 tested (2022.3 min, unverified). Built-in RP (URP/HDRP need a Shader Graph swap). Install to Assets/PlanetGenerator.
❓ Runtime generation works via Generate(), but workflow is editor-time. Mesh auto-switches to 32-bit indices above 65,535 verts. Planet Pathfinder is optional.
📄 License: One seat, unlimited personal/commercial projects, no royalty, no attribution.
Collaboration with: https://thelonegamedev.itch.io/
| Updated | 13 days ago |
| Published | 17 days ago |
| Status | Released |
| Author | MonteJaran2001 |
| Tags | Asset Pack, Generator, Unity |
| AI Disclosure | AI Assisted, Code |
Purchase
In order to download this game you must purchase it at or above the minimum price of $6.99 USD. You will get access to the following files:
