Arête Plugins

Under construction QA

TileForge2D QA Checklist

A release-readiness tracker for TileForge2D while the editor, runtime, procedural systems, sample content, documentation, and marketplace prep are being hardened.

Construction Zone

QA before polish.

This page is intentionally visible while TileForge2D is in active testing. Items move from unchecked to verified only after real editor, runtime, packaged, multiplayer, or fresh-project tests.

Procedural quick test

How to make Biome Set generation do something visible.

This is the current MVP workflow. Biome paint UI comes later, so Default Weight is the fastest first test.

01

Create a Biome Set data asset

In the Content Browser, create a Data Asset and choose TileForgeBiomeSetAsset. Name it something like DA_TF_Biomes_Test.

02

Add one biome

Open the Biome Set. Add one Biomes entry. Set Biome Id to Meadow, Display Name to Meadow, and Default Weight to 1.0. Default Weight 1.0 means the whole map can generate without hand-painted biome cells yet.

03

Add one scatter rule set

Add one Scatter Rule Sets entry. Set Rule Set Id to MeadowScatter. Add one Rule. Set Rule Id to GrassScatter, Biome Id to Meadow, and Density to 0.25.

04

Add one tile output entry

Inside the rule, add one Entries item. Set Output Type to Tile. In Tile, choose your TileForge Tileset and a visible Tile Index. Keep Weight at 1, Min Biome Weight at 0.1, and Spawn Chance at 1.0.

05

Assign it to the map

Open the TileForge Map asset. In Procedural > Generation, set Biome Set to your Biome Set asset. Leave Weight Layer Name as BiomeWeights. Set Replace Existing Tiles off for the first test.

06

Generate from the map editor

Open the TileForge Map editor, select the layer you want to paint into, and click Generate in the top toolbar. The button uses a fresh seed and paints tile scatter onto the active layer.

07

Clear and retry

Click Clear Generated to remove the last generated placements. Change Density or click Generate again for a new seed. Turn Replace Existing Tiles on only when you intentionally want generation to overwrite painted tiles.

Current limitation

What works right now?

The first Generate button supports Tile scatter entries. Actor, TileActor, ObjectMarker, collision-aware scatter, biome brushes, and dungeon baking are still planned follow-up passes.

Production readiness

What needs to be true before release.

Grouped from the current TileForge2D production checklist.

01

Core Plugin Health

  • Plugin compiles cleanly in the target Unreal version.
  • Runtime module loads without editor dependencies.
  • Editor module loads only in editor builds.
  • Plugin can be enabled or disabled safely.
  • Public headers, Blueprint names, categories, and tooltips are clear.
02

Asset Workflow

  • Create TileForge Tileset and TileForge Map assets.
  • Assets display correctly in the Content Browser.
  • Assets save, reload, move, and rename without broken references.
  • Missing textures or broken references show useful warnings.
03

Map Editor

  • Custom map editor opens without crashing on empty or invalid maps.
  • Create, rename, reorder, lock, unlock, hide, and show layers.
  • Paint, erase, palette select, save, undo, and redo work correctly.
  • Fill tool only fills connected matching regions.
04

Projection Modes

  • Top-down and isometric diamond projection work.
  • Grid-to-world and world-to-grid conversion work.
  • Mouse picking, Tile Actor snapping, collision, and sorting match the active projection.
  • Save/load remains grid-based.
05

Runtime Map Actor

  • Map actor loads TileForge Map assets and handles missing assets safely.
  • Visible layers render in the correct order.
  • Runtime tile changes, dirty chunks, collision rebuilds, and Blueprint APIs work in PIE and packaged builds.
06

Tile States

  • Tile states support visuals, collision, sorting, interaction tags, and Blueprint events.
  • Tile transitions such as grass to dirt and cracked ground to hole entrance work.
  • Runtime tile changes mark chunks dirty, update collision, and save/load correctly.
07

Tile Actors

  • Tile Actors spawn from map data and store grid position.
  • Chest, push block, door, teleport, pickup, and destructible examples work.
  • Tile Actors register occupancy and restore moved, opened, or destroyed state.
08

Collision

  • Layer collision, tile-state collision, preview/debugging, and runtime updates work.
  • Adjacent collision tiles merge where appropriate.
  • Invalid collision settings warn instead of crashing.
09

Sorting

  • Layer order, Y-sort, isometric X+Y sort, above-player, front, and behind modes work.
  • Tile Actors and tall objects sort with the map correctly.
  • Sorting preview/debug info exists if possible.
10

TFBiomes

  • Biome Set assets can be created.
  • Biome weights store on maps and can be painted.
  • Scatter rules are deterministic by seed and can be cleared or baked.
  • Scatter respects collision, occupied cells, top-down maps, isometric maps, and save/load.
11

TFDungeons

  • Dungeon Profile assets can be created.
  • Seeded room, corridor, start, exit, wall, floor, loot, enemy, trap, and key/lock generation works.
  • Generated dungeons are reachable, bake into maps, and support top-down/isometric save-load flows.
12

Multiplayer / Replication

  • Server is authoritative for tile changes, interactions, biome changes, and dungeon generation.
  • Clients request actions, server validates, all clients receive grid-based deltas.
  • Late joiners receive modified tiles and generated placement state.
13

Save / Load

  • Modified and destroyed tiles persist.
  • Dug tiles, enterable holes, opened chests, moved push blocks, biome placements, and dungeon data reload.
  • Save data stays grid-based and survives projection mode changes.
14

Performance

  • Map does not spawn one actor per tile.
  • Rendering is chunked or batched and dirty chunks rebuild only when needed.
  • Large maps, optimized collision, runtime changes, scatter limits, and packaged performance are tested.
15

Error Handling

  • Missing tilesets, tile states, actor classes, layers, coordinates, profiles, and scatter rules fail safely.
  • Logs are useful without becoming spammy.
16

Documentation

  • Installation, quick start, tilesets, map editor, tile states, Tile Actors, collision, sorting, TFBiomes, TFDungeons, multiplayer, save/load, Blueprint API, troubleshooting, and example workflow guides exist.
  • Screenshot and GIF placeholders are replaced before release.
17

Sample Content

  • Top-down and isometric sample maps exist.
  • Examples cover grass-to-dirt, enterable holes, cuttable grass, push blocks, chests, biomes, and dungeons.
  • Sample content is clearly labeled and uses safe assets.
18

Marketplace / Release Prep

  • Descriptor, supported versions, dependencies, listing copy, screenshots, videos, demo, docs link, support link, license, changelog, package zip, and fresh install are ready.
19

Fresh Project QA

  • Install in a brand-new Unreal project.
  • Enable, restart, create tileset/map, paint, place map actor, PIE, package, and confirm no missing asset or editor-only runtime errors.
20

Required Post-Push QA Report

  • Every major push includes What’s New, What Changed, New Features to Test, Old Features to Retest, Regression Risks, relevant Multiplayer and Save/Load QA, files, build results, commit message, and next step.
  • Never claim anything was tested unless it actually was.