Skip to content
m4bwav edited this page Oct 4, 2026 · 2 revisions

UniverseGenerator makes universes, galaxy clusters, galaxies, star systems, planets and moons from a seed, for games and fiction. The same seed gives the same galaxy on Windows, Linux and macOS, on .NET 10 and .NET Framework 4.8, so a server and its clients, or a writer and their readers, can share a world by its seed alone. The output is plain C# records: names, star types, planets, moons, lanes, regions, factions, danger and story tags. It is not an astronomy simulation: the physics only goes as far as keeping the descriptions consistent (a red dwarf is small and dim, and its habitable zone sits close in).

dotnet add package UniverseGenerator
using UniverseGeneration;

var galaxy = Galaxy.Generate("my-seed");
foreach (var system in galaxy.Systems.Take(3))
    Console.WriteLine($"{system.Name}: {system.Star.Class} star, {system.Planets.Count} planets, danger {system.Danger}");

prints:

HD 147927: K star, 6 planets, danger 9
HD 165595: M star, 1 planets, danger 6
HD 28101: K star, 6 planets, danger 6

The package targets netstandard2.0 and net10.0 and has no dependencies. Every example in this wiki was run against UniverseGenerator 1.0.0 as published on nuget.org, on .NET 10 and on .NET Framework 4.8, and printed the same output on both.

Pages

  • Getting started: install it, generate each level, and read what comes back. Start here.
  • API reference: every public type and member, with the version that added it.
  • Same seed, same galaxy: what the seed promise covers, what changes the output, and how to check it yourself.
  • Plausibility rules: the astronomy behind stars, orbits and planets, and where it stops.
  • Errors and edge cases: every refusal with its exact message, and the warnings that never throw.
  • Recipes: saving a run, drawing the map, travel times, seed search, JSON export, hooks and your own tables.
  • Feature matrix: what UniverseGenerator does next to 176 other generators, and what is planned.
  • FAQ: short answers, with links to the detail.
  • Versions and upgrading: the releases and moving from 1.0.0-beta.1 to 1.0.0.
  • Development: build, test, the golden files and how a release is made.

Elsewhere

The current version is 1.0.0, published on nuget.org on 2026-10-04 (UTC). The Unity package and its OpenUPM listing get their own pages when the listing is live; until then the README has the git URL install.

Clone this wiki locally