Repository navigation
Home
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 UniverseGeneratorusing 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.
- 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.
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.
This wiki describes UniverseGenerator 1.0.0 and was last updated on 2026-10-03. The library is MIT licensed. Report problems in the issues. On NuGet: UniverseGenerator. On OpenUPM: com.m4bwav.universe-generator.
Using it
- Getting started
- API reference
- Same seed, same galaxy
- Plausibility rules
- Errors and edge cases
- Recipes
- Feature matrix
- FAQ
The releases
Contributing
Elsewhere