Repository navigation
FAQ
The repository has no issues yet; these are the questions the README, the code and the verification runs raise.
Within 1.x, yes: a seed, the options and the generator version give the same output for the whole major version, and 1.0.0 gave the same output as 1.0.0-beta.1. A change that would alter a seed's output must add a generator version. See Same seed, same galaxy and Versions and upgrading.
Yes, if they pass the same seed, options, registered tables and hooks. The verification run printed the same 909,995-character JSON fingerprint of a full galaxy on .NET 10 and .NET Framework 4.8, and the repository's CI runs the golden files on Windows, Linux and macOS. Same seed, same galaxy shows how to compare on your own machines.
The seed and the options' code, or an object's link (Universe.Link). Any object regenerates from its address, so a save file needs only text. Objects you changed in play are your game's data; save those changes beside the seed. See Recipes.
No. Seeds are exact text, so case and spaces count, and an empty seed is a valid seed. Normalise user input yourself if they should match. See Same seed, same galaxy.
Galaxy names come from a fixed list, so they repeat across seeds ("my-seed" and "hello world" both make a Wyvern Galaxy). The galaxies themselves differ. System names are unique within a galaxy.
From 1 to 2,000 systems. The map is built at once, but each system's star, planets and moons are built the first time you read them, so a large galaxy costs little until you open its systems. The repository's size budget aims at a default galaxy in under 50 ms; this wiki did not time it.
Names: Names = NameStyle.Invented, or a hook that sets them. Your own fields: Custom, set by hooks or by your code, written by ToJson. Probabilities: the editable weight tables. Recipes for each are on Recipes.
Consistent rather than realistic. The default star mix is tuned for games (30% red dwarfs, against about 72% in a real sky); Preset.Plausible uses real shares. The formulas and their sources are on Plausibility rules.
The README says yes (Unity 6, Mono and IL2CPP), through its own package, installed today by git URL and from OpenUPM once listed. This wiki tested the NuGet package only; Unity pages follow when the OpenUPM listing is live.
Only on bad input, before anything is generated: options out of range, a null or over-long seed, an address that does not exist, an unregistered tables id. Generation itself never throws; problems it works around are warnings. Every message is on Errors and edge cases.
None, on either build (net10.0 and netstandard2.0). JSON export is hand-written, so it needs no serializer.
Each release is built by GitHub Actions and published through nuget.org Trusted Publishing, with a build attestation. Versions and upgrading shows how to verify it.
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