CSAF - Constellation Atlas - Progression Screens Your Project Draws From Its Own Data

Your progression screen, drawn as a star chart - computed from your own chart data, not assigned to it.

You never pick art for a node. You write down what the node is - an id, a house, a tier, what it depends on - and the Atlas derives the star: which of forty hand-authored stellar forms it takes, how bright it burns, what colour it is, where it sits, and which constellation figure it joins. Edit the data and the sky redraws.

There is no sprite sheet, no atlas and no PNG anywhere in this package. Every pixel is drawn at run time by a software rasteriser included in the source.

An icon pack hands you a folder of unrelated pictures and no relationship between any of them. What it cannot do at any price is re-derive when your data changes: re-tier a node and it gains magnitude, move it to another house and its spectrum, its form family and its constellation all change with it, and appending a node never re-rolls its siblings.

Getting Started
  1. Import the package. Everything lands under Assets/CSAF/ConstellationAtlas/.

  2. Open Assets/CSAF/ConstellationAtlas/Demo/ConstellationAtlasDemo.unity and press Play. A five-house sky renders. Click a star wearing a ring - that is a reachable node - and the sky redraws with its constellation figure lit.

  3. Open the tool window: Window > CSAF > Constellation Atlas. Drag a chart into the Chart field and press Preview.

  4. Make your own chart: Assets > Create > CSAF > Constellation Atlas > Atlas Chart. Give each node an Id, a House, a Tier and its Requires list, then press Preview again.

  5. Put it in your game: add an AtlasView component, set its Chart, subscribe to NodeClicked, and call Rebuild(). TryTake(nodeId) refuses anything that is not Reachable.

Demo/SampleChart.cs is the same thing at full size - thirty-two nodes across five houses - and is worth reading as the API documentation, because it is the entire authoring surface on one screen.

Technical Information

Features

  • Progression sky rendered entirely at run time from chart data - no imported art of any kind

  • Forty hand-authored stellar forms in five families of eight (Cardinal, Radiant, Companion, Nebulous, Sovereign)

  • Ten colour houses, each built on a real stellar spectral class rather than a hue rotation

  • Three node states - dark, reachable, kindled - drawn as one object restated, never as three assets

  • Constellation figures derived from your dependency graph; house boundaries drawn as hulls

  • Deterministic: the same chart yields byte-identical art on every machine and every launch

  • Editor window to preview, validate a chart, bake the sky to PNG, or bake every star as a sprite

  • Single-star rendering at any size for hotbar icons and tooltips, from the same code path

Code Modules: CSAF.ConstellationAtlas.Runtime (runtime, all platforms), CSAF.ConstellationAtlas.Editor (editor only), CSAF.ConstellationAtlas.Demo (runtime, the sample scene and chart).

Number of .cs Scripts: 20 (17 runtime, 1 editor, 2 demo). Number of Assembly Definitions: 3, each named and platform-constrained.

Supported Development Platforms: Windows, macOS, Linux.

Supported Target Build Platforms: All. The art path is CPU-side and calls no platform API, no compute shader and no native plugin, so it runs anywhere Unity does - Windows, macOS, Linux, iOS, Android, WebGL and console.

Supported Unity Pipelines: Built-in, URP, HDRP and any custom render pipeline. There are no pipeline variants to maintain because there is no shader in the package - every mark is rasterised in software into a Texture2D.

Unity Version: 2022.3 LTS or newer. Built and gated on 6000.5.7f1.

Dependencies: None. The runtime assembly references nothing outside UnityEngine - not even uGUI, which AtlasView reaches through reflection specifically so the package works in a project that does not ship it. No third-party packages, no Resources/ folder, no network calls, no analytics.

Documentation: https://github.com/onefreeman1337/csaf-releases/blob/main/docs/constellation-atlas/README.md - full written documentation, publicly readable without downloading the product. Every public API also carries XML docs in the source.

Example Project: Yes - a demo scene ships in the package at Assets/CSAF/ConstellationAtlas/Demo/ConstellationAtlasDemo.unity, together with a thirty-two node sample chart built in code. Open the scene and press Play; it needs no setup.

Versioning: 1.0.0, semantic versioning. The stellar-form corpus and the house spectra are additive, so an existing chart keeps the art it already derives.

Important/Additional Notes: Rendering is CPU-side. A thirty-node sky takes on the order of a second to compose; a hundred-and-thirty-node sky at 2200x1300 takes several. This is a screen you build when it opens rather than something you run every frame, which is why Rebuild() is an explicit call. Bake the sky to a PNG from the Atlas window if you need it instant.

Support: Reply on the product page, or open an issue against the documentation repository above. Include your Unity version and, where possible, the chart asset.