See below for the compatibility guide for Depthkit Studio's Unity Expansion Package
Ensure Your Pipeline is Compatible
Before kicking off your production or committing to deliverables for your clients, we strongly recommend conducting an end to end test of your intended pipeline to ensure compatibility and performance for your deliverables.
If your pipeline is not compatible with our Unity Expansion Package, please consider using our integration with Arcturus HoloEdit.
|Windows (Desktop VR)||Supported||See recommended specifications.|
|iOS (iPhone/iPad)||Supported||See iOS recommended specifications.|
|macOS (Desktop)||In development||Support for macOS has been tested and verified, however detailed performance guides have not been created and some issues may exist.|
|Android (mobile/tablet)||In development||Select Android devices support playback. However, performance optimizations are required. It should not be considered production ready. Specifically some Android GPUs do not support our shaders|
|Android (Quest)||In development||While it is possible to build to the Quest, performance optimizations are required for successful playback of Depthkit Studio assets. It should not be considered production ready.|
|WebGL||Not supported||Explore web playback for single-perspective Depthkit Core assets with 8th Wall or Depthkit.js.|
|Windows UWP (HoloLens)||Not supported||We have not tested support on Windows UWP for HoloLens|
|LuminOS (MagicLeap)||Not supported||We have not tested support on LuminOS for Magic Leap|
Depthkit's Combined Per Pixel video format is designed for quality and performance. When working with this format on various platforms, you may benefit from certain asset specifications in order to improve playback performance. These will vary by platform and target device.
The specifications below will guide you with best practices for:
- Combined Per Pixel video resolution
- Codec & Bitrate
- Unity Reconstruction settings, including Surface Buffer Capacity, Volume Density and Volume Bounds
- Recommended sensor configurations by platform.
Performance will vary based on your project or scene complexity
Please use this as a guide and take your existing project assets (photogrammetry scans, environments, etc.) into account.
Sensor configurations are flexible and customizable based on the needs of your project. When planning you configuration, be mindful of your target publishing platform. Due to the performance requirements of certain platforms, you may want to think of your assets meeting a pixel budget.
For example, the asset produced by a 10-sensor capture inherently has a high resolution, necessary to fit each sensor. To get it to play performantly on your target platform, you can scale it down, or alternatively you can consider capturing with fewer sensors and allotting each sensor a greater resolution.
Combined Per Pixel multi-row formatting
Before downscaling your Combined Per Pixel videos, consider reformatting the clips into stacked rows and columns to maximize your pixel usage. For details see the Combined Per Pixel Multi-row formatting section of the Asset Encoding guide.
In Unity, pull in the Volume Bounds close to your subject without cropping the clip itself. This is essential in order to increase performance of each asset. It should be used in tandem with Volume Density for best results.
Changing the volume bounds will adjust your Voxel Grid Dimensions as well as the Total Voxel Grid count, seen in the Depthkit Studio Mesh Source component under Volume Settings. It will not affect the size of each voxel just how many voxels are used to reconstruct your clip.
Adjust the volume density slider to optimize your mesh to suit your scene and intended publishing platform. This setting controls the resolution of the reconstruction volume and the number of voxels per cubic meter. High mesh density maximizes the quality that your clip has to offer, especially when it comes to depth detail and edge quality. However, when building to a mobile device, performance on constrained hardware is key. In this scenario, you may require a lower mesh density. Volume density units are represented as voxels per meter.
For best results, reduce Volume Density in combination with setting the Volume Bounds. After adjusting both of these values, set the Surface Buffer Capacity.
This value defines the maximum number of triangles that can be displayed for each frame of your clip. In other words, this sets the mesh size. Click the Set Surface Buffer Capacity button to sample the current frame to automatically determine a recommended value for your clip. This recalculates the resources needed to render your asset, and is helpful in reducing your memory footprint.
*Set your Surface Buffer Capacity after you make any changes to your volume settings, especially the volume density or volume bounds. This will ensure the clip is running at maximum performance.
- Recommended resolution: 4096 wide
- Recommended codec: H.264 (mp4), H.265 is also supported, but will likely not impact performance.
- Recommended video player: Unity video player or AVPro acceptable
- Recommended Volume Density: 200
- Recommended Surface Buffer Capacity: ≈28,000
- iPhone 6s, OS version 14.4
- 3 sensor, front-biased configuration, with color resolution at 2160p per sensor
- 5 sensor configuration, with color resolution at 1440p per sensor
- Recommended resolution: 2048 wide. May increase to 4096 wide for newer devices.
- Recommended codec: H.265 (mp4)
- Recommended video player: Unity video player
- Recommended Volume Density: 50
- Recommended Surface Buffer Capacity: ≈13,286
- Recommended Total Voxels: ≈134,688
Updated 7 months ago