Drydock: The Loadout Schematic Sheet
A downloadable asset pack
Your refit screen already knows what the player is flying. Drydock draws it.
Hand it your parts list and it composes a technical drawing: a blueprint ground with a ruled frame and zone marks, the hull in silhouette, one drawn fitting per hardpoint with a leader line that lands on the drawing, a callout carrying the station and the spec, and a filled title block with a struck approval stamp.
You write no drawing rules. You hand it a list of parts.
Loadout l = Loadout.Empty("KESTREL III", "Interceptor", Stock.Cyanotype);
l.Fittings.Add(new PartFitting { Name = "Ion Thruster", Station = "AFT 1", Spec = "2.4 GW", Grade = 4 });
l.Fittings.Add(new PartFitting { Name = "Railgun", Station = "SPINE", Spec = "88 MJ", Grade = 5, Revised = true });
Texture2D sheet = DrydockSheet.Compose(l, 1024, 720);
That is the whole API surface you need.
47 part silhouettes, and not one of them is an image file
Hulls, propulsion, power, weapons, protection, sensors, utility and structure — every one drawn in code as a signed-distance field, at whatever size you ask for. There is no atlas, no sprite sheet and no resolution to outgrow. The package ships zero image files.
Eight drafting stocks re-strike the whole sheet rather than tinting it: cyanotype, whiteprint, vellum, linen, mylar, kraft, phosphor and amber. On a cyanotype the line is white, because a cyanotype is a photographic negative.
Four fields, four independent properties of the drawing
- Name decides which silhouette is drawn. Matched whole-word, so "Mk II Ion Thruster" finds the ion drive.
- Grade decides how busy it is — barrels on a mount, cells in a bank, fins on a radiator.
- IsContext decides subject or surroundings. Context is drawn lighter, as reference structure is on a real drawing.
- MountDegrees decides the mounting angle. A thruster raked off the keel is drawn raked.
They are deliberately independent. If they all keyed on one field, a high-grade loadout would look more rather than look different.
When a part name matches nothing, it says so
You get an unspecified module — a plain envelope box with mounting lugs and a data port — and never a wrong part. Picking a silhouette at random would draw a railgun for a part called "Coffee Urn", and on a technical drawing being confidently wrong is the worst failure available. Drawing nothing would claim the station is empty. A generic envelope says exactly what is true: something is fitted, and this drawing does not know what. The demo ships a Coffee Urn on purpose so you can see the path.
Worth knowing before you integrate
- Loadout talks to nothing. No inventory asset, no ScriptableObject base class, no save system. A plain struct and a List. Fill it from whatever you already have.
- ComposePixels is safe off the main thread. Bake on a worker, upload on the main thread — a sheet composes when a refit screen opens, which is a frame the player is watching.
- The same loadout always composes the same pixels. Nothing reads UnityEngine.Random.
- Spec is a string, deliberately. A headline figure can be thrust, mass, a calibre or a Mark number, and every one localises differently. Drydock will not guess your locale.
- A sheet annotates up to 10 fittings. Hand it more and the title block reads
10 OF 23, so the drawing never misrepresents the loadout.
Compatibility
Unity 2022.3 or newer. Built and gate-tested against Unity 6000.5.7f1, and re-compiled clean on 6000.5.6f1. No render-pipeline dependency — the demo draws with OnGUI, so it opens identically on Built-in, URP and HDRP. No third-party packages. Every script sits in a named, platform-constrained assembly definition, and there is no Resources/ folder, so Drydock adds nothing to your build that you do not reference.
What is in the download
- Raw, readable C# — the whole runtime, the editor window and the demo. Nothing minified.
- A demo scene. Open
Demo/Scenes/DrydockDemo.unityand press Play. - An editor window to preview a sheet and save it as a PNG.
- A .unitypackage and the loose folder, so you can import it either way.
Every image on this page was rendered by the product itself during the build that produced this download.
| Published | 3 days ago |
| Status | Released |
| Category | Assets |
| Author | CSAF — Core Systems Asset Factory |
| Made with | Unity |
| Tags | blueprint, csharp, generated, Generator, mech, Procedural Generation, schematic, sourcecode, spaceship, Unity |
| Languages | English |
| AI Disclosure | AI Assisted, Code, Graphics |
Purchase
In order to download this asset pack you must purchase it at or above the minimum price of $14.99 USD. You will get access to the following files:






Leave a comment
Log in with itch.io to leave a comment.