HomeGamesUpdatesPricingMethodology
Steam News19 January 20265mo ago

Dev Diary Day 12

I'd say im tired, and i should be but i guess im not. I got a weird energy, maybe i've leveled up? i dunno. I dont care. I got some heavy HEAVY work done today, and i built a book shelf. Yeah, go me. MMMMmmmm....

Full notes

Full Dungeon Flop update

Read the full published notes in a cleaner layout. The original post stays linked below.

What changed

2 fixes4 additions7 changes2 removals
  • Compatibility
  • Gameplay
  • UI and audio
  • Performance
  • Fixes
changedBig PictureTore apart and re-architected the Runtime Tile Foundry tile pipeline .
changedBig PictureTransitioned from Unity [c]Resources.Load[/c]–driven tiles to a data-driven runtime tile registry that supports: built-in tiles modded tiles authoring output
fixedBig PictureDiscovered and fixed multiple architectural mismatches between old editor-era assumptions and the new runtime/mod system.
addedTile System Architecture ChangesIntroduced explicit separation between: tile identity ([c]id : string[/c]) tile metadata ([c]type[/c], tags, etc.) tile visuals ([c]preview : Texture2D[/c])
changedTile System Architecture ChangesNormalized tile [c]type[/c] once, at load time , instead of re-normalizing in every UI component.
changedRuntimeTileFoundry CoreExposed read-only shims for the rest of the UI: [c]RuntimeTiles[/c] (flat list) [c]TileLookup[/c] (id → descriptor) [c]TilePreviews[/c] (id → Texture2D)

I'd say im tired, and i should be but i guess im not. I got a weird energy, maybe i've leveled up? i dunno. I dont care. I got some heavy HEAVY work done today, and i built a book shelf. Yeah, go me. MMMMmmmm.... im about 90% done with the tile editor, and i just tied that to the map editor. So now the map editor can load user made tiles, which is cool. The demo will have the option to make and trade user generated content. Thats cool, and thats the goal. I have a lot of things i want to do in my life, and honestly, i can choose to either make the game of my dreams, or tell a really good story. I've tried telling good stories, and i have succeeded in a way. But nobody reads anymore, and nobody cares. Which is fine, and normal. I've been homeless to many times to buy into that delusion. You never have control over how others feel about you, but you can control how you feel about others. This is why i want to give the tools to other people who still want to share stories and to help them do that. Uh, i worded that weird. Thats ok, i think the sleepies are catching up. So tell ya what, here is this guy to tell you what got made.

What We Did Today (Actual Work, Warts Included)

Big Picture

  • Tore apart and re-architected the Runtime Tile Foundry tile pipeline.

  • Transitioned from Unity [c]Resources.Load[/c]–driven tiles to a data-driven runtime tile registry that supports:

    • built-in tiles

    • modded tiles

    • authoring output

  • Discovered and fixed multiple architectural mismatches between old editor-era assumptions and the new runtime/mod system.

Tile System Architecture Changes

  • Replaced ad-hoc tile loading with a single authoritative tile registry:

    • [c]RuntimeTileDescriptor[/c] is now the source of truth

    • All tiles (built-in + mods) flow through the same path

  • Introduced explicit separation between:

    • tile identity ([c]id : string[/c])

    • tile metadata ([c]type[/c], tags, etc.)

    • tile visuals ([c]preview : Texture2D[/c])

  • Normalized tile [c]type[/c] once, at load time, instead of re-normalizing in every UI component.

RuntimeTileFoundry Core

  • Implemented a one-time registry build step:

    • Loads all runtime tiles

    • Normalizes their types

    • Detects and rejects duplicate IDs

  • Exposed read-only shims for the rest of the UI:

    • [c]RuntimeTiles[/c] (flat list)

    • [c]TileLookup[/c] (id → descriptor)

    • [c]TilePreviews[/c] (id → Texture2D)

  • Removed silent coupling where UI code assumed:

    • Unity objects existed

    • previews were always present

    • types matched layer names verbatim

Right Sidebar (Tile Palette)

  • Rewrote the sidebar to:

    • Consume runtime descriptors, not Unity assets

    • Filter tiles by normalized layer type

    • Fail safely when previews are missing

  • Diagnosed the “ nothing shows up ” bug:

    • Root cause: mixed tile types + inconsistent normalization

    • Secondary cause: null previews breaking IMGUI layout silently

  • Added defensive guards so:

    • user-made tiles no longer nuke the entire panel

    • built-in tiles still render even if mods are malformed

Debugging & Failures (Important)

  • Hit multiple false-negative states where:

    • tiles were loaded

    • UI reported success

    • but rendering silently failed

  • Chased an [c]ArgumentNullException (_unity_self)[/c] caused by:

    • IMGUI receiving invalid [c]GUIContent[/c] due to null textures

  • Discovered several downstream scripts still referencing removed fields:

    • [c]TileAssetLookup[/c]

    • [c]TilePreviewCache[/c]

    • [c]RebuildTileLookup[/c]

  • Fixed this by:

    • reintroducing shim properties

    • not breaking existing editors while refactoring the core

What Is Actually True Right Now

  • ✅ Runtime tiles are loading correctly

  • ✅ Built-in tiles do exist in the registry

  • ✅ Mod tiles are being scanned and parsed

  • ⚠️ UI stability depends on preview availability + null safety

  • ⚠️ Some UI scripts still need to be updated to use the new shims cleanly

What This Work Enables (Not Done Yet)

  • A real mod pipeline, not a Unity-only editor trick

  • Authoring tools that:

    • write JSON

    • reload live

    • don’t care where tiles came from

  • Future category support (not hardcoded “Default” forever)

Net Result (No Bull Version)

  • This was infrastructure work, not feature work

  • You paid down a huge chunk of technical debt

  • Things broke because they were supposed to

  • You now have:

    • a sane data model

    • a single source of truth

    • and visibility into where the remaining bugs actually live

Source

Steam News / 19 January 2026

Open original post

Changelog.gg summarizes and formats this update. How we read updates.