A downloadable asset pack

Get this asset pack and 210 more for $1,894.89 USD
View bundle
Buy Now
On Sale!
30% Off
$14.99 $10.49 USD or more

Point it at a quest your game already knows about, and it draws the finished illuminated journal page.

The errand gets its own device. The region gets its own painted roundel, and tints the whole sheet. The giver's faction is pressed into wax at the foot. The title's first letter becomes an illuminated initial on gold. The difficulty decides what the border actually is. And whether the quest is offered, in hand, discharged, lost or abandoned repaints the entire page.

Nothing in that picture is a stored image. There is no PNG, no atlas, no sprite sheet, no shader and no material anywhere in the package.

What your players see

A page. Not an inspector window, not a debug view, not a report — a drawn journal leaf your players open, composed from the quest list you already have.

  • 80 hand-authored forms. 14 errand devices, 10 region roundels, 8 giver seals, 8 marginalia, 26 illuminated initials, 5 border tiers, 5 state treatments and 4 chain ornaments. Times 8 tinctures.
  • The state is not a label. A failed quest is struck through in red, scorched along one edge and its wax cracked. An abandoned one stops part-way and fades out. A completed one is gilded and ribboned. Measured in the test suite: a failed page differs from an active one across 53 of 200 sampled cells, not in a corner box.
  • Difficulty changes the CONSTRUCTION, not the weight. A one-skull errand gets a hairline rule. A five-skull errand gets a thorned, gilded, corner-crowned frame and more marginalia. Tier 5's border band carries 139 distinct colours against tier 1's 71. A buyer can rank their own journal without reading a word of it.

It reads your words, not our enum

Kind, Region and Giver are free strings on purpose. You already have words for these things, and renaming your fields to fit somebody else's enum is the friction that stops a tool being used. Write slay and you get the sword through the skull. Write the deep mire and you get the standing water and the reeds. Matching is whole-word, so seaward will never quietly match sea.

When a word is not recognised it falls back to a stable derived mark — the same one every run, on every machine — and the Errantry window tells you which of your words fell through, so nothing is ever a silent guess.

It draws no text, and that is a feature

Errantry ships no font, measures no string and renders no words. It draws the page and hands you back the rectangles — in normalised UV, origin bottom-left, exactly what Unity UI takes — where your own Text, TextMeshPro or IMGUI label belongs. Your fonts, your localisation, your rich text: all untouched, all still yours.

var composer = new PageComposer();
PageCanvas page = composer.Compose(quest, PageOptions.Default(), out PageReading reading);
titleText.rectTransform.anchorMin = new PageLayout(0.72f).Title.AsUv().min;

The illuminated initial

Twenty-six Roman capitals, authored as stroke skeletons and drawn with real thickness on a gilded, vine-wound panel — the thing that makes a screenshot read as a manuscript at a glance rather than as parchment with a font on it. The stroke weight rises with the quest's difficulty. Any title works: a digit, a foreign article, a symbol — every case lands on a letterform rather than a blank panel.

Honest about what it costs

It is a software rasteriser drawing a large picture. Measured by the package's own test suite on the machine that built it, printed into the Unity log on every run:

  • 720x1000 page: 4.5 s cold, 2.7 s with a warm composer.
  • 259x360 page: 161 ms, across twelve pages with one shared composer.
  • A repeated derivation rasterises zero new tiles — every mark comes from the cache.

Compose when a quest changes, keep the texture, never call it in Update. The README says the same in more detail, and the demo scene prints its real cost on your machine rather than quoting ours.

What is in it

Three assemblies, each with its own .asmdef, so nothing compiles into your game unless you use it. Editor code is Editor-only. No Resources/ folder, because one would bloat every build you ship whether you used this or not. No third-party dependencies. The output is a Texture2D, so it works on Built-in, URP and HDRP alike.

  • A demo scene you press Play on, with twelve sample quests you can page through.
  • An editor window with a derivation panel that names every choice and where it came from.
  • A ScriptableObject journal if you want one, and a plain QuestRecord if you do not.
  • 28 EditMode tests, and the raw, readable, commented C# for all of it.

Unity 2022.3 or newer. Built and gated against 6000.5.7f1 with warnings as errors.

Limits, stated plainly

  • It does not lay out text, and will not. You place the words.
  • The corpus is fantasy-medieval. The mechanism is general; the 80 forms are a manuscript vocabulary.
  • The page is portrait by default. Landscape works; the layout was authored for a leaf.

AI disclosure: produced with AI assistance. Code: yes. Graphics: yes — every mark is procedural C# you can read in Runtime/Mark/, and no generative image model was used at any point. Sounds: none. Text and dialogue: none, since the package renders no words.

Copyright © 2026 Core Systems Asset Factory.

Purchase

Get this asset pack and 210 more for $1,894.89 USD
View bundle
Buy Now
On Sale!
30% Off
$14.99 $10.49 USD or more

In order to download this asset pack you must purchase it at or above the minimum price of $10.49 USD. You will get access to the following files:

errantry-unity-package.zip 232 kB
Version 1.0.0

Development log

Leave a comment

Log in with itch.io to leave a comment.