Skip to content
Documentation menu

Status & Roadmap

What Loom does today and what is planned next. This is the public, feature-level roadmap.

Loom is at 0.10.0, the release candidate for 1.0 (wire protocol v40). Every feature planned for 1.0 is below, implemented and continuously tested across both the Unity and Unreal consumers.

Shipped

Everything here works today, in both engines, and is covered by automated tests.

Live link

  • Direct binary Blender to engine streaming over loopback TCP. No relay, no disk, no FBX.
  • Per-edit deltas: full mesh only on topology change, positions-only for sculpt and animation, a 40-byte packet for a transform move.
  • Survives editor recompiles and disconnects. Reconnecting re-syncs the whole scene.
  • Runs while the editor is unfocused. Live edits stream into a running Play or PIE session.

Geometry and rigging

  • 9 Blender object types (mesh, curve, text, surface, metaball, armature, light, camera, empty).
  • All 1 to 8 UV channels, RGBA vertex colours, multi-material submeshes, 32-bit big meshes.
  • Armatures (bind poses and top-4 weights), relative shape keys to blendshapes (delta positions and normals).

Lights, cameras and world

  • 4 light types, arriving at Blender’s own brightness in both engines. Perspective and orthographic cameras with depth of field.
  • World ambient, Environment-Texture HDRI, and mist.

Instancing

  • Collection, geometry-node, particle and vert-face instances uploaded once and shared.
  • Linked-duplicate dedup, per-instance Object Info colour and random, dense-scatter GPU instancing.
  • Prefab-reference placement: a loom_prefab key, on the object or on its mesh data so linked duplicates follow it, instantiates your real engine prefab or Blueprint via a registry in both engines, with per-placement variant pools (loom_variant) for kit pieces.
  • Global material override: one Material or material for every synced object, for colour blocking and vertex-colour views. Prefab references and bakes are never affected.

Materials and shaders

  • Principled BSDF to URP Lit or LoomLit UMaterial, including the advanced factors (transmission, subsurface, coat, sheen, specular IOR level, anisotropy).
  • Content-deduped textures packed into the engine’s map slots, HDR preserved.
  • 20+ shader nodes transpiled to real compiled shaders. Noise and Voronoi are ported from Blender’s own source, with all 19 Mix blend modes, a faithful Principled fallback, and an offline pre-flight diagnostics scan.
  • An opt-in Cycles bake-to-texture escape hatch, per material, for a graph Loom cannot represent.
  • Pin-your-own-material overrides that survive every resync, and named-texture passthrough for stylized graphs.

Game-ready authoring

  • Live colliders by name (UCX_, UBX_, USP_, UCP_, UMC_) and LOD groups (_LOD0..n), with collider-proxy and LOD-chain generators in Blender so the names are typed for you.
  • Attach points. Mark an empty as a socket or a plug with a shared tag (Door, Muzzle), snap a prop onto one in Blender, and the kind and tag ride to the engine and survive the bake.
  • Property routing (layer, tag, static flags, sorting layer).
  • Tile test. Place copies of a kit piece around it, by its bounding box or by its own socket and plug pair so corners and curves chain, to check its seams in the engine. The copies share the piece’s mesh and follow it; both bakes leave them out.

Physics

  • Rigid bodies. Blender’s Rigid Body settings become a Unity Rigidbody, collider and physics material, or an Unreal simulated body, sent as Blender’s physics engine actually simulates them. Measured against Blender lane by lane: falls, rest heights, slides, tip-overs and pushes land where Blender’s do on both engines. Collider proxies under a body are its collision, and bakes keep the bodies.

Greybox to final replacement

  • Block a level out in Blender, then replace the stand-ins with your real prefabs or Blueprints, from either application. Assign a key to one placement or to the shared mesh (all ninety linked duplicates follow), pick a pool variant by name, or scatter the pool over every placement from a seed. Clear to greybox is always the way back.
  • Every assignment is written into the .blend and undone with Ctrl+Z there, so a level half-replaced on Friday is the same level on Monday, after both applications have restarted. The editor asks Blender to write; nothing is kept in a session-only map.
  • Mark stand-ins as blockouts and watch the count: 62 of 210 blockouts replaced in Blender’s N-panel, Blockouts 62 of 210 replaced in both editor windows. A Prefab check lists every key in the scene with its placements and flags anything resolving to something else — unmapped key, variant name not in the pool, index past the end — instead of silently substituting.
  • SNAP_ / SOCKET_ marker empties are skipped automatically, a Tracked Objects list says exactly what is streaming, and a four-page “How replacement works” explainer sits behind a ? in all three applications.

Control and safety

  • Selective sync (collection or selection), freeze and pin, hand-edit protection, opt-in two-way edits.
  • A first connect streams just your selection by default. Pick a scope (Selected, Whole scene, Collection) with a live object count, so you never dump a complex scene by surprise; per-object sync status tells you why anything is not streaming.
  • Tracked set. Under Selected only, selecting an object tracks it: it keeps streaming while deselected, survives reconnects and Blender relaunches (saved in the .blend), and is removed from the engine only when you Untrack it. Track the whole model (on by default) widens that to the clicked object’s whole parent tree, and when nothing would sync yet Blender asks What do you want to send? Exclude / Include any object in any scope. Boolean cutters are skipped automatically while the cut result streams live.
  • Configurable consumer root: synced objects land under a GameObject or actor you name (default Loom).
  • Per-object state at a glance. Each synced object shows whether it is streaming or paused right in the engine (a status dot on Unity’s Hierarchy row, a Loom.Paused tag on the Unreal actor), and you can pause or resume a single object from there, not only the central window.
  • Drop the whole synced tree into a chosen open scene (Unity) or loaded level (Unreal), not just the active one.
  • Stranded stand-ins. After a disconnect both editors say the placed objects are live previews, not saved with the scene, and offer Bake Scene…, Clear Synced Objects or Keep for now.
  • English and Korean across the Blender add-on, both editors and the in-app guide; the editors follow Blender’s language across the link.
  • Pause streaming. Pause, beside Disconnect, keeps the connection but holds every change; Resume sends what changed, and both editors say Blender has paused.
  • Cross-app selection, undo-coherent resync, and a live throughput and queue HUD.

Preview to production

  • Bake a session to real assets: a Unity .prefab or an Unreal BP_LoomBake Blueprint over saved meshes, materials and textures, with lightmap UVs, LOD groups and colliders generated at bake.
  • Bake everything, or Bake Selected… for just the subtrees you picked.
  • Bake a frame range to a Unity AnimationClip or Unreal UAnimSequence.
  • Record and replay a session to a .loomcache file.
  • Headless bake with no editors open, for CI and build systems: blender -c loom_bake <file.blend> --unity|--unreal … starts the engine’s batch-mode bake itself and exits 0 or 1.

Two engines

  • One Blender producer drives a Unity consumer (C# / URP) and an Unreal consumer (C++ / UE Material) at parity. Both parse the same wire and the same golden fixtures.

Toward 1.0

  • Hands-on pass. How the interface feels in all three applications (snap, drag and click behaviour, and how the new rigid bodies feel in Play and PIE) and the first run from a cold install. The rest came off this list by being measured: a test harness renders the same .blend in Blender, Unity and Unreal from one camera, and every part of the rendered look (procedural textures, light brightness and colour temperature, ambient and fog, transparency, Unity’s Deferred path and HDR camera, depth of field, HDRI worlds and the baked result) now has a card compared across the three. An editor-UI harness photographs each application’s Loom panels in English and Korean at their narrowest widths, and found and fixed eighteen layout and behaviour bugs on the way.
  • Blender 5.2: done. Every Blender suite passes on 5.0, 5.1 and 5.2.
  • Release and packaging: done in 0.9.0, current release 0.10.0. One version across the Blender add-on, the Unity UPM package and the Unreal plugin, one release archive, and a first-run sample scene: a ground, a crate with a box collider, a node-textured orb, a metal monkey on a modifier stack, a sun and a world. Still to come: the Unity Asset Store and Fab listings.

Next

  • More shader nodes. Brick, Sky, IES, Bevel, Point Density, Wireframe, AO. These fall back cleanly today.

Possible futures

Not committed. Candidates under consideration after 1.0.

  • LAN and multi-machine. Drive an engine on a second PC over the network. Today it is loopback only.
  • Toon and NPR shaders: not planned, and why. A stylized graph has no PBR factors and no lighting model Loom could port, so instead of faking one it hands you the material’s named textures to drive your own toon shader. See either quick start for the two steps.