Meta Spatial SDK

Updated: Apr 16, 2026|
Version
0.12.0
Transform your apps into mixed reality with Spatial SDK, a native Android framework to give your users an innovative spatial experience.

Version 0.12.0 Release Notes

Meta Spatial SDK v0.12.0 introduces dynamic lighting, morph target animations, and runtime 3D text generation. This release also brings performance improvements to the Gradle plugin, better physics scaling support, and a number of bug fixes across rendering, interaction, and audio.

What's New

Lighting API

  • Add Light component and LightSystem for ECS-based dynamic lighting. Supports point and spot lights with configurable color, intensity, range, direction, cone angles, and shadow casting. Position automatically synchronizes from the entity's Transform.
  • Support up to 4 lights per object, automatically prioritized by distance and intensity.
  • Scene

  • Add SceneTexture.loadFile() for loading textures directly from asset files. Supports KTX, PNG, JPG, BMP, TGA, and GIF.
  • Add glTF morph target (blendshape) support with GPU vertex-shader deformation. Supports animated morph weights with crossfades and up to 8 active targets per mesh.
  • Add SceneMesh.updateGeometryDirect() for zero-copy mesh geometry updates from native memory pointers.
  • ISDK

  • Add IsdkSystem.unregisterObserver() for removing PointerEvent observers, and IsdkSystem.active property to enable or disable input processing.
  • Toolkit & UI

  • Add AvatarSystem.getShowHands() and getShowControllers() getters for hand and controller visibility state.
  • Add runtime 3D text mesh generation via Text3D.create() with configurable font size, extrusion depth, font family, and spacing.
  • ECS

  • Add ComponentBase.hasAttributeChanges() to check whether any attribute has been modified since the last sync.
  • Improvements

    Panels

  • Make PanelDisplayBase.getPresentation() public. Add getComponentName() to retrieve the top Activity's ComponentName.
  • Physics

  • Apply entity scale to physics colliders, including non-uniform scale for boxes, convex hulls, and meshes.
  • Gradle Plugin

  • Enable configuration cache by default to improve incremental build performance.
  • What's Fixed

  • Fix HitInfo.nodeId always returning 0 for ray intersection results.
  • Fix washed-out KTX textures in glTF models caused by incorrect sRGB format handling.
  • Fix crash when loading multiple GLB files concurrently with identically-named materials.
  • Fix string, UUID, and URI attributes unnecessarily marking components dirty on equal-value updates.
  • Fix grab handle glow distortion and panel misalignment issues in ISDK.
  • Fix controller and hand position desync on direct touch in ISDK.
  • Fix cursor rendering on box mesh back faces in ISDK.
  • Fix stale spatial audio state when removing AudioSessionId components.
  • Fix FindLibraryTask variant ambiguity in multi-module projects, misleading xmlDirectory warning, and exportComponentXmls failures on Gradle 9 in the Gradle Plugin.