// docs

Content

Categories, sources, files, and how your library is organized in Kiosk.

Your library in Kiosk is built around four concepts: a database that stores the index on disk, categories that act as top-level tabs, sources that are the actual folders on your hard drive, and files — the individual assets in your gallery. Everything is local; nothing leaves your machine.


Database

Kiosk stores your library in a local database on your machine — a lightweight file that holds your categories, sources, file index, tags, and thumbnail references. Nothing is sent anywhere; everything stays on your disk.

Free version: one local database, stored in %APPDATA%\Kiosk\.

Pro version: create and manage multiple databases using the dropdown in the bottom-left corner of the main window. Each database is completely independent — useful for keeping a personal library separate from a studio project, or organizing different types of work. Switch between them instantly with a single click.

▶ Watch: Manage Databases

Category

Categories are the top-level organizers in your library — like tabs along the sidebar. Each one holds its own set of sources and shows its own files.

Example setup:

  • Assets — 3D models and scenes
  • Textures — PBR texture sets
  • HDRI — environment maps

Creating a Category

  1. Click the + button in the sidebar.
  2. Enter a name.
  3. Optionally assign a custom icon.

File format filters are configured per source, not per category.

Managing Categories

  • Rename — Right-click a category in the sidebar.
  • Set Icon — Right-click a category to assign a custom icon.
  • Delete — Removes the category and its sources from the index. Files on disk are never affected.

Sources

Sources are the folders Kiosk scans for files. Each source belongs to a category, and a category can have as many sources as you want.

Adding a Source

Two ways to add a source:

  1. Content Manager — Open App Menu → Content Manager, select a category, click Add Source, and browse to a folder.
  2. Drag and drop — Drag a folder directly onto the Kiosk window. It gets added as a source in the currently active category.
▶ Watch: Manage Content

Source Row Fields

Each source row in the Content Manager has these fields:

FieldWhat it does
NameA custom display label shown in the source toggle buttons above the gallery.
PathThe folder on disk. Click to browse or paste a path directly.
FilterFile extension filter for this source. Example: *.hdr, *.exr shows only those formats. Uses the category’s filter if left blank.
Merging RuleA glob-style pattern to group related files into a single tile (see below).

Filter Examples

*.fbx, *.obj, *.glb     → only these model formats
*.hdr, *.exr            → HDR images only
*master*                → files with "master" in the name
*, ^*.jpg               → all files, but not JPG

Merging Rules

A merging rule says these files are the same asset at different resolutions or versions — show them as one tile with a variant picker, instead of five tiles cluttering the gallery.

Write a pattern that matches the filenames, and mark the part that varies with angle brackets: <…>. Everything outside the marker identifies the asset; everything inside it becomes an entry in the tile’s dropdown.

*<#K>.exr

That rule turns 154_hdrmaps_com_free_10K.exr and 154_hdrmaps_com_free05K.exr into one tile named 154_hdrmaps_com_free, with 05K and 10K in the dropdown — even though one filename has an underscore before the resolution and the other doesn’t.

Tokens

TokenMeans
*Any characters at all, including _, -, . and spaces.
?An unknown run of characters inside one name token — one character or five, it doesn’t matter. It stops at _, -, . or a space. ?? and ??? mean exactly the same as ?, so repeating it is harmless.
#A whole number. Reach for this whenever the varying part is numeric — it’s the token that handles resolutions, versions, UDIMs and LODs correctly.
{a,b,c}One of the listed alternatives, e.g. {02,05,10}.
[0-9]One character from the set.
<…>The variant — the part that differs between the files being merged.

Matching ignores case, so *<#K>.exr also catches bridge_4k.exr.

Examples

RuleMerges
*-<?>k.hdrbridge-2k.hdr with bridge-4k.hdr
*_v<#>.exrframe_v001.exr with frame_v002.exr — the literal v sits inside the same token and doesn’t get in the way
*_<{01,02,10}>.texOnly those three suffixes. wood_99.tex stays its own tile.
*_<*.{tex,exr}>Across file types — put the extension inside the marker when you want .tex and .exr on one tile
*_LOD<#>.fbxtree_LOD0.fbx, tree_LOD1.fbx, tree_LOD2.fbx

Several rules at once

A source can carry more than one rule. All three of these forms are accepted, and a file joins the first rule it matches:

*<#K>.exr, *<#K>.tex
(*_<*>.tex) (*_<*>.exr)
one rule
per line

Commas inside {02,05,10} don’t split anything — the parser tracks nesting.

Preview and presets

Next to the rules field are a preview button and a presets menu:

  • Preview dry-runs the rule against the source’s real filenames and lists the groups it would make. In the Add Directory dialog it reads the folder straight from disk, since nothing is indexed yet.
  • Presets fill the field with a working rule — resolutions, listed resolutions, version suffixes, UDIM tiles, LOD levels, or a plain trailing number.

A rule that can’t be read is flagged in the field with the reason and position, rather than being silently ignored.

Rules you saved in an earlier version

Everything already saved keeps working:

  • A rule with no <…> auto-detects its variant — the last wildcard in the pattern. So *-?k.hdr now groups bridge-2k with bridge-4k, which it never did before.
  • A rule wrapped in a single pair of parentheses has them stripped, so the old (*-?k.hdr) form behaves the way it always looked like it should.
  • A genuine regular expression is detected and kept working. Prefix a rule with re: to force that reading explicitly.

Note: Rules are applied to the visible gallery page of 100 files, so variants that straddle a page boundary group as you scroll rather than immediately. The preview dialog reads the whole source, so it can report more merges than the gallery shows at first.

How Grouping Decides

Four things can claim the same file — a texture set, a variant set, a sequence, and Poly Haven’s own synced resolutions. They run in one fixed order, and each stage refuses what an earlier one already took, so a file can never be two things at once:

  • Poly Haven sits outside all of it. Its variants come from the sync and are tagged once, then skipped by all three stages below.
  • 1. Texture set — the strongest claim.
  • 2. Variant set — your merging rules. Never a texture-set member, never a Poly Haven asset.
  • 3. Sequence — the weakest, and the only stage that takes any file type rather than images alone. Never anything the two above already claimed.

Membership and collapsing are separate. What a file belongs to does not depend on a toggle — a texture set’s members stay ineligible for sequence detection whether or not Merge Texture Sets is on. The toggles only decide whether members are drawn as one tile.

When a tile has multiple variants, use the dropdown on the tile to select which variant to export.

Color Space

Kiosk tracks a color space per source and per file. Set a default for a whole source in the Content Manager, or right-click a file (or a merged sequence) → Assign Color Space to override individual assets — assigning to a merged tile applies to every frame.

Color management runs on a real OCIO config. Kiosk ships with ACES, and Pro users can point a database at a custom OCIO config from the Content Manager’s color-management popup. The config path is stored with the database, so it travels with the library — every machine pointed at a shared Studio database uses the same color pipeline.


Files

Once a source is added, Kiosk scans it and builds the file grid. Each tile in the gallery represents one file (or a group, if merging rules apply).

Thumbnails

Kiosk generates previews automatically:

  • Images — PNG, JPG, EXR, TIF, TGA, HDR, BMP: thumbnail from the image itself.
  • Videos — MP4, MOV, AVI: a frame is extracted. Hover to scrub through frames.
  • 3D Files — OBJ, STL, PLY, FBX, glTF, USD: rendered with 3-point lighting via the built-in 3D engine.
  • Sidecar images — for formats Kiosk can’t render itself (.abc, .ma, .bgeo.sc, .bgeo, .geo, .vdb), an image sitting next to the file with the same base name is picked up as its thumbnail. Drop pig.jpg beside pig.bgeo.sc and it becomes the tile.

To set a custom thumbnail, right-click a file → Thumbnail:

  • Choose Thumbnail — Pick an image from disk.
  • Paste from Clipboard (Ctrl+V) — Use any copied image.
  • Capture Thumbnail — Fullscreen screenshot with rubber-band selection.
  • Generate 3D Thumbnail — Force re-render for supported 3D formats.

Custom Tags

Tags let you add your own labels to any file:

  1. Right-click a file (or select multiple).
  2. Choose Edit → Custom Tags.
  3. Type a tag and press Enter.

Tags are searchable — type a tag name in the search bar to filter. You can batch-tag multiple selected files at once.

In the tree folder view, right-click any folder to set tags for all files inside it at once.

OpenPBR Texture Sets

Kiosk detects PBR texture sets automatically. When it finds files sharing a base name but differing by channel suffix — wood_basecolor.png, wood_roughness.png, wood_normal.png — it groups them into a single tile.

Supported channels follow the OpenPBR specification: base color, metalness, roughness, normal, displacement, specular, transmission, coat, emission, ambient occlusion, and more.

To customize which keywords map to which channels, open App Menu → PBR Detection Settings. This lets you match your personal naming conventions — for example if you use diff instead of basecolor.

When you export a texture set to a DCC app, Kiosk creates a complete material with all channels connected automatically — Principled BSDF in Blender, Octane/Redshift nodes in Cinema 4D, Arnold shaders in Maya, and so on.

behind KioskMeet the maker →