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.
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.
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
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.
When PanelRenderMode.Mesh() is specified, the panel should render using only a 3D mesh without creating a compositor layer.
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
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
Spatial SDK applications experience significantly reduced performance when built and run in debug mode compared to release builds.
Applications should maintain reasonable performance levels across different build configurations, with debug builds performing close to release builds for basic functionality testing.
Debug builds exhibit notably degraded performance.
Switch to release build variant for performance-sensitive testing:
- In Android Studio, open the Build Variants tool window by navigating to View > Tool Windows > Build Variants
- In the Build Variants window, locate your app module in the list
- 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.