Skip to content
m4bwav edited this page Oct 4, 2026 · 1 revision

The repository has no issues yet; these are the questions the README, the code and the verification runs raise.

Will my seed give the same galaxy after I upgrade?

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.

Will a server and its clients get the same galaxy?

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.

What should I save: the galaxy or the seed?

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.

Are "My-Seed" and "my-seed" the same seed?

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.

Why do two different seeds give galaxies with the same name?

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.

How big can a galaxy be, and is it slow?

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.

Can I use my own names, my own data or my own probabilities?

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.

Is it realistic?

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.

Does it work in Unity?

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.

Does it throw?

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.

Does it have dependencies?

None, on either build (net10.0 and netstandard2.0). JSON export is hand-written, so it needs no serializer.

Can I trust the package I downloaded?

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.

Clone this wiki locally