Develop
Develop
Select your platform

Known issues

Updated: Oct 3, 2025

Layers displaying incorrect cropping

When multiple SceneQuadLayer instances share the same SceneSwapchain and each calls setCrop() with different crop rectangles, all layers display the same crop instead of their individually specified crop regions.

Expected behavior

Each layer should display its own unique crop rectangle from the shared swapchain texture. For example, when rendering a cubemap with six layers sharing one swapchain, each layer should show a different face of the cube based on its individual crop settings.

Actual behavior

All layers display the same crop rectangle, typically showing the last crop rectangle that was set across all layers. This means:
  • Layer-specific crop regions are ignored
  • Only the most recently applied crop settings take effect globally
  • Multiple layers appear identical instead of showing different portions of the texture

Workaround

Consider using Meta Spatial SDK version 0.7.2 if this functionality is critical to your application.

Layer incorrectly created when using mesh-based rendering

When using ReadableMediaPanelRenderOptions with renderMode = PanelRenderMode.Mesh(), the system incorrectly creates a compositor layer instead of using only mesh-based rendering.

Expected behavior

When PanelRenderMode.Mesh() is specified, the panel should render using only a 3D mesh without creating a compositor layer.

Actual behavior

The system creates both a mesh and a compositor layer, which:
  • Consumes additional GPU memory and processing resources
  • May impact rendering performance
  • Goes against the intended lightweight mesh-only rendering approach

Workaround

If you’re creating ReadableMediaPanelSettings objects, you can work around the issue by applying the fix after converting to panel configuration:
val panelSettings = ReadableMediaPanelSettings(
    shape = QuadShapeOptions(width = 1.0f, height = 1.0f),
    display = PixelDisplayOptions(width = 1920, height = 1080),
    rendering = ReadableMediaPanelRenderOptions(
        renderMode = PanelRenderMode.Mesh(),
        // ... other render options
    ),
    // ... other settings
)

val panelConfig = panelSettings.toPanelConfigOptions()
panelConfig.layerConfig = null  // Override the incorrect layer creation

// Use panelConfig for your panel setup

Degraded performance in debug mode

Spatial SDK applications experience significantly reduced performance when built and run in debug mode compared to release builds.

Expected behavior

Applications should maintain reasonable performance levels across different build configurations, with debug builds performing close to release builds for basic functionality testing.

Actual behavior

Debug builds exhibit notably degraded performance.

Workaround

Switch to release build variant for performance-sensitive testing:
  1. In Android Studio, open the Build Variants tool window by navigating to View > Tool Windows > Build Variants
  2. In the Build Variants window, locate your app module in the list
  3. Change the build variant from debug (default) to release for the app you are testing
Note: Remember to switch back to debug mode when needed. Consider using release builds for performance profiling and user experience validation.
Did you find this page helpful?