Log inGet started
← Explore
World media

Swatchbook: Material Library, Picker and Calibration Kit

A walk-in material gallery and the installable core behind it: tag, find and apply materials from any script, judge them on a calibration shelf under six shared lighting looks, and check them for seams, shimmer and web texture budget.

0score
Embed

Embed this world

Paste this code into your own page and the world plays right there.

Updated Oct 18, 2026
materialsmaterial-libraryswatch-gallerymaterial-pickercalibrationlightingmultiplayerpackagetools

Swatchbook

Walk into a ring of material swatches. Every material in the library stands on a sphere, a cube, a shader ball, a cylinder, a 2 × 2 m floor tile and a wall section, each mapped at its real-world tile size. Each one has a plaque saying what it is, its style, its roughness and metallic, and what its textures cost.

Use the toolbar to switch between four views:

  • All, grouped by category.
  • Close-up of one material, with a 40 m runway to catch shimmer at distance.
  • Compare, two materials side by side.
  • Style, a shelf filtered to one style family.

Change the lighting live: daylight, overcast, golden hour, moonlight, warm interior or neutral studio. Open Materials to put any material on whatever you click or tap, from a thumbnail grid, a searchable list, or a quick card made for gamepads and phones. Everyone in the world sees the same lighting and the same applied materials, and a player who joins later gets them too.

What you can install

materialLibraryKit (1.1.0) is the shared core that every material collection plugs into.

  • Materials.apply(entity, "chromeBall") and Materials.list({ category = "metal", style = "realistic" }) from any script.
  • Tags on every material: display name, category, sub-kind, style, tile size, roughness and metallic range, texture cost, how many textures it samples, animated.
  • A 20-piece calibration shelf: 18% grey, white and black cards; chrome, glossy grey, glossy black and matte grey balls; roughness, metallic and albedo ramps; a UV orientation checker, a normal-map test, a colour checker, a grey wedge; emitters at 1.0 and 16x; and more. No textures, so it costs no texture memory.
  • The swatch gallery (drop the SwatchGallery component into any scene), shared lighting presets, the on-screen picker and toolbar.
  • Checking tools for a collection's own tests: render-pass views (albedo, roughness, metallic, normal), a 4 × 4 seam test, near and 30 m shimmer, texture memory, a per-material verdict (at most 9 sampled textures and 1 storage buffer), and web-budget warnings. Also available as zero materialChecks run <id>.

starterMaterials (1.0.0) is a small example collection. It tags the engine's own ready-made surfaces (chrome, brushed metal, gold, glass, water, grass, plastics, toon, neon, checkers, an animated one and parallax bricks) without copying them. Installing it on its own brings the core with it.

Installing a collection next to the core is all it takes. Its materials appear in the list, the picker and the gallery on every player's machine, with no code. The core's README includes a two-material "make your own collection" example.

Measured in a browser tab: 47–60 fps on every gallery page and view across two runs. The core has tests covering every public call.

Comments · 0

Open discussion, no rating attached. Ask questions, swap notes, follow threads.

Sign in to join the discussion.