Tagger — Documentation
Buy Now

Tag your library.

Any pack. Any engine. One tidy, named, searchable home — inside Blender.

QUICK START

Five minutes, five packs, one library

Tagger turns a pile of mismatched asset packs into one clean library in a single pass. The panel is workflow-first: you pick one job and follow numbered steps.

  1. Install the add-on and open the sidebar (N) in the 3D Viewport → the Tagger tab.
  2. Choose Organise, set your Source to a pack — or a folder of packs.
  3. Run 01 Detect → 02 Normalise → 03 Sort. Each has a Dry-Run before Apply.
  4. Build the 04 Overview Grid to see everything you own, labelled in 3D.
  5. Read the library_manifest.json + thumbnail contact sheet Tagger wrote.
Non-destructive by design. Sorting copies into a clean repository — your original packs are never moved or changed. Every write is preceded by a dry-run that shows exactly what will happen.
INSTALLATION

Install in under a minute

RequirementDetail
Blender4.2 or newer
OSWindows, macOS, Linux
FormatsFBX · OBJ · GLB/GLTF · USD
InternetNot required — Tagger runs fully offline
  1. Download Tagger (the .zip).
  2. In Blender: Edit ▸ Preferences ▸ Add-ons ▸ Install… → pick the zip.
  3. Tick Tagger to enable it.
  4. Open the 3D Viewport sidebar with N → the Tagger tab.

Optional local AI (below) is a separate one-time setup — Tagger works fully without it.

01 · DETECT

Know what you're working with

Point Source at a single pack folder, or a parent folder holding many packs (each sub-folder becomes a category / pack). Click Detect pack(s).

Tagger recognises the vendor — Synty, KitBash3D, Kenney, Quixel and more — and surfaces the known quirks of that pack for a game engine (wrong scale, flattened materials, modular clutter). A badge shows what it found and the pack licence where known.

02 · NORMALISE

Fix scale, units & origins

Normalise makes every asset behave the same:

  • Ground — drops each asset to the floor (Z = 0).
  • Centre — centres it on its footprint so origins are predictable.
  • Auto-fix units recommended — packs authored in centimetres import 100× too big; Tagger detects and corrects them to metres.

Example

# a barrel authored in centimetres
before:  90.0 m tall   (imported 100× too big)
after:   0.9 m tall    (auto-corrected to metres)

Optional: turn on AI identify (see below) to also record a semantic category per asset while thumbnails are rendered.

03 · SORT / CONSOLIDATE

Pull one category from every pack

This is the hero feature. Tell Tagger “pull all the Buildings” and it gathers whole buildings from every pack at once into one clean repository:

MyLibrary/
  Buildings/
    kenney/     house_a.fbx, shop_b.fbx …
    synty/      tower_01.fbx …
  Vehicles/
    kenney/     sedan.fbx …
  • Category picker — tick only what you want (Buildings, Vehicles, Props…).
  • Skip modular parts — drops stray walls, doors and beams so you keep whole assets.
  • Provenance — each asset records the pack & vendor it came from.
Dry-Run first. The report reads e.g. “Pull Buildings → 518 assets from 37 packs · 941 modular parts skipped” before a single file is written.
04 · OVERVIEW GRID

See everything you own — labelled

Lay your organised library out as a tidy grid inside Blender, each category under a big 3D text heading (ENVIRONMENT · VEHICLE · PROP · CHARACTER…). No OSM, no worldbuilding, no CityMaker required — just instant clarity on a whole collection.

OptionWhat it does
Group byCategory · Shape · AI tag
Per rowHow many assets across before wrapping
Max / categoryCap per group for a representative catalogue (0 = show every asset)
Ground / boundaryPuts a dark slab with a glowing rim under each category — a clear boundary

🎨 Look templates

Pick a Look before building and the overview sets up ground + lighting + material in one go:

LookWhat you get
Flat (honest)Plain solid-shaded catalogue — real materials, no ground or lights (default)
Studio GreyClay-grey turntable on a soft, evenly-lit grey stage — clean product look
Lit CatalogueReal materials, a dark slab + warm gold glowing rim per category, warm key light
Night CityDark stage with warm street-lamp glow scattered along the rows

💡 Light it up (re-dress)

Already built the grid? Click Light it up to re-dress it with the selected Look — it clears the old ground/lights and applies the new one, so you can flip Studio → Night → Catalogue live without rebuilding. Switch the viewport to Material Preview or Rendered to see the lit looks.

Honest by default. Without Light it up, the grid is a plain, fast, solid-shaded catalogue — exactly what you need to browse what you own. The lit look is a one-click upgrade for presentation, not the default.
AI IDENTIFY

Local AI tagging coming in the AI update

Tagger is built to identify assets by their thumbnail — entirely on your machine, no cloud, no account, no ComfyUI — as a smarter layer over the geometry + folder tagging.

This build tags by geometry and folder rules (works fully, no setup needed). The local-AI layer — a guided one-command install plus tighter integration so AI tags win over folder guesses — lands in the upcoming AI update. AI tags will always be a draft you confirm, never applied blindly.

Why it matters. Folder/filename tags can mis-file (a "coaster-cap" isn't a hat); the AI reads the actual shape, so it fixes exactly those cases.
OUTPUT

Manifest & thumbnails

Everything Tagger learns is written to one file plus a contact sheet — your whole library, catalogued.

{
  "forge_tag": "Environment:UrbanModular",
  "footprint": [4.2, 3.8],        // real metres
  "height": 6.1,
  "structural_class": "volumetric",
  "vision_category": "building"    // AI draft, if enabled
}

The manifest is a stable contract — it's exactly what downstream tools read.

05 · EXPORT TO ENGINE

One click → Unreal or Unity

Pick Unreal, Unity or Both, choose a folder, and Tagger writes a manifest plus a ready-to-run importer. Your assets land in content folders by category, at correct scale, with collision — no manual dragging or re-scaling.

EngineRun this
UnrealUnrealEditor-Cmd "YourProject.uproject" -ExecutePythonScript="…/import_to_unreal.py" (or Tools ▸ Execute Python Script…) → imports into /Game/TaggerLibrary/<Category>/
UnityDrop TaggerLibraryImport.cs in Assets/Editor/Tools ▸ Tagger ▸ Import Library… → imports into Assets/TaggerLibrary/<Category>/

Two modes: fast references your organised files in place; Bake clean FBX re-exports each asset through Blender (modifiers applied, scale/orientation baked) for a fully self-contained drop.

Isolated & safe. The importers only ever write into a TaggerLibrary folder — they never touch anything else in your engine project.
WHAT COMES NEXT

Use your library in CityMaker sold separately

Tagger is step 0 of the Speaking Pictures city pipeline. Once your library has a manifest, CityMaker (sold separately) reads it directly and furnishes a generated city from your assets, at correct real-world scale.

TAGGER    scan ▸ normalise ▸ tag ▸ sort ▸ library_manifest.jsonCITYMAKER  ◄─ reads it ─ generate layout ▸ POPULATE from your library ▸ roads · rails
  • Bundled: CityMaker shows a “Step 0 · Tag your library” card that turns green once it finds a valid manifest.
  • Standalone: tag in Tagger, open CityMaker, point it at the same library folder. You never organise your library twice.
HELP

Troubleshooting

SymptomFix
No Tagger tabEnable the add-on in Preferences ▸ Add-ons, then press N in the 3D Viewport.
“No assets found”Point Source at a folder that actually contains FBX/OBJ/GLB/USD (or a parent of such folders).
Assets import hugeTurn on Auto-fix units in step 02 — the pack was authored in centimetres.
AI toggle greyed outThe optional local AI isn't installed — it arrives (with a guided setup) in the AI update. Tagger tags by geometry + rules without it.
Sort pulled partsEnable Skip modular parts under step 03 → More.