Repository navigation
Versions and Upgrading
| Version | On nuget.org (UTC) | CHANGELOG date | Listed | Deprecated | Downloads |
|---|---|---|---|---|---|
| 1.0.0 | 2026-10-04 | 2026-10-03 | yes | no | 0 |
| 1.0.0-beta.1 | 2026-10-03 | 2026-10-03 | yes | no | 0 |
Registry figures read from nuget.org on 2026-10-04 at 03:47 UTC, minutes after 1.0.0 was pushed. 1.0.0 was released in the evening of 2026-10-03 in US Central time, which was already 2026-10-04 in UTC; the CHANGELOG uses the release day in the maintainer's time zone, nuget.org uses UTC.
Both releases were published from GitHub Actions through nuget.org Trusted Publishing, with a GitHub build attestation for the nupkg and a GitHub Release holding the nupkg and the snupkg (symbols). gh attestation verify UniverseGenerator.1.0.0.nupkg -R m4bwav/UniverseGenerator verifies the file attached to the GitHub Release; the file downloaded from nuget.org has a different hash, because nuget.org adds its repository signature.
Everything in 1.0.0-beta.1, plus (from the CHANGELOG):
- Option codes and links:
GeneratorOptions.ToCode(),GeneratorOptions.FromCode(code),Universe.Link(address, options), and links accepted byUniverse.At. - Presets
Pocket,Roguelike,CozyandEpic, and the optionsArms,ExtraLanesandDangerShift. -
ToJson(indented, children)on every level. - Orbital elements:
Planet.Eccentricity,InclinationandPeriapsisAngle. -
GeneratorOptions.Names: catalogue or invented names. -
Units.ConvertandUnits.MapwithLengthUnit,MassUnit,TemperatureUnitandTimeUnit. - Soft problems reported as values:
GeneratorOptions.Check()andGalaxy.Warnings(GeneratorWarning,WarningCode). - Galaxy shapes
Colliding,StarburstandClustered, by name only. - Guarantees:
GeneratorOptions.RequirewithGuaranteeflags. -
GeneratorHooksandCustomfields on every level. - Editable weight tables:
GeneratorTables,WeightTable,WeightEntryandGeneratorOptions.Tables. - In the Unity package only: the
UniverseGenerator.Unityassembly withTablesAssetandUnityVectors.
The API reference marks each of the 128 members that 1.0.0 added with "1.0.0" (counted by comparing the public surfaces of the two published DLLs).
Change the version number; nothing else is needed. 1.0.0 removed or changed no public member of 1.0.0-beta.1 (the same comparison), and no seed's output changed: the CHANGELOG says every golden file of 1.0.0-beta.1 is unchanged, and the run below shows it for one galaxy. The same program on both versions:
using System.Security.Cryptography;
using System.Text;
using UniverseGeneration;
var galaxy = Galaxy.Generate("my-seed");
var text = string.Join("\n", galaxy.Systems.Select(s =>
$"{s.Name} {s.Star.SpectralType} {s.Danger} {s.Descriptor} | " + string.Join(" | ", s.Planets.Select(p => p.Summary))));
using var sha = SHA256.Create();
var hash = BitConverter.ToString(sha.ComputeHash(Encoding.UTF8.GetBytes(text))).Replace("-", "").Substring(0, 16);
Console.WriteLine($"{galaxy.Systems.Count} systems, {text.Length} characters, SHA-256 {hash}...");
Console.WriteLine(galaxy.Systems[0].Planets[0].Summary);prints on 1.0.0-beta.1 (.NET 10) and on 1.0.0 (.NET 10 and .NET Framework 4.8) alike:
60 systems, 20910 characters, SHA-256 8D325689851D2D82...
1.5 g, thin carbon dioxide air at 0.099 bar, 190 °C by day, -13 °C by night, tidally locked; hazard 3
What you may notice after upgrading:
-
New fields on records. Planets have orbital elements and every record has
Custom. Code that builds records with object initialisers keeps compiling; the new properties take their defaults. -
Galaxies made with the new options are new galaxies.
DangerShift,ExtraLanes,Arms,Names,RequireandTablesat their defaults give exactly the 1.0.0-beta.1 output; set to anything else, they give a different galaxy from the same seed. - Addresses saved from 1.0.0-beta.1 still regenerate the same objects on 1.0.0, with the same options passed.
From 1.0.0, a seed, the options and the generator version give the same output for the whole 1.x line. Later 1.x releases add features without moving any seed: the feature matrix lists what is planned. A change that would alter any seed's output would add a generator version (v2- addresses) and keep version 1 selectable (Same seed, same galaxy).
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