Skip to main content

Genies Web SDK v0.1.97

Updated: September 10, 2026

What's New

  • CAMP support. CAMP (Content and Asset Management Platform) is the collection of Genies backend services and infrastructure. Animation clips, smart-avatar resolution, and behaviors now work with CAMP alongside the existing legacy and local workflows. Note that resolved brain and voice data are inspection-only — they are not activated automatically.
  • Asset presets. A Mega Stylizer preset is a JSON document describing an avatar's authored visual look — toon shading, outline, and surface settings. Presets can now be scoped per asset, so a wearable's look applies only to that wearable rather than the whole avatar, and RGBK colors are applied automatically on load and equip. Stacked presets are preserved through equipment changes and LOD upgrades.
  • Animation. Added runtime retargeting controls and ordered graph nodes for dynamics, skeleton twist corrections, and emotion mouth closing. Rig recipes — the setup describing how an avatar's skeleton is assembled and corrected — now support skeletonFixups overrides for adjusting individual joints.
  • Gesture mirroring. Native playback supports Right, Left, and Random. High-level JavaScript calls keep random mirroring — selecting a specific mode is not exposed yet.
  • Configuration. The CAMP SDK version is now configurable, with support for bm_, vm_, and um_ IDs.

What's Fixed

Refitting is how a wearable is reshaped to fit a particular avatar's body, and layering is how multiple wearables stack over one another so they sit in the right order. The first two fixes below cover both.

  • Wearable fitting and layering. Picked up updates to utility-mesh refitting and layering, and fixed two related bugs: the layer order assigned when wearables are equipped one at a time (rather than all together at load), and loading wearable bundles.
  • Faster fitting for legacy assets. The older fitting path drives a wearable's shape through a cage — a low-resolution proxy mesh. Those calculations now wait until the wearable is actually deformed instead of running up front, and the result is cached per cage. A cage that hasn't changed skips the work entirely. Dense cages still pay a one-time cost the first time they're used.
  • Animation fixes. Corrected rotations when retargeting an animation (adapting a clip authored for one skeleton onto a different avatar) while no IK targets were active; fixed dynamics pose masks, which control the bones the physics simulation is allowed to move; and fixed exporting the animation graph when a runtime handle was empty.
  • Better error reporting. C++ exception handling in the WebAssembly module is now enabled in every build type, and detailed render-model error messages are kept outside Debug builds — so failures in a production build are far easier to diagnose.