Surface Reconstruction allows you to build a 3D mesh of your environment using the sensors in the Meta 2. The mesh can be used to facilitate interactions between virtual objects and the real world. For example, you can use reconstruction to place a virtual picture frame on top of your real desk. The mesh can also be used to occlude virtual objects behind physical surfaces in the world.


  1. Follow the instructions to create a Meta Scene with the MetaCameraRig prefab.
  2. Locate MetaCameraRig > EnvironmentInitialization in your Unity scene.
  3. Locate the Environment Configuration script. Check the Surface Reconstruction Active checkbox.
  4. Play the scene and initialize SLAM.
  5. Move your hands and all moving objects out of the view of the Meta 2’s depth sensor.
  6. Once SLAM is initialized, press Alt + I (i, not L) to initialize scanning.
  7. Move your head slowly, passing your gaze over all of the nearby objects in the environment which you wish to scan.
  8. If you’re satisfied with your scan, press Alt + S to save the results. If not, you can first press Alt + S to save the results and, then reinitialize SLAM by pressing F4, and finally go back to Step 4.

Best practices

  • When building an application using surface reconstruction, we currently recommend a scanning step during initialization in which the user controls starting and stopping. This is what is provided by default when using our Environment Initialization system.
  • It is possible to use reconstruction dynamically, at the cost of performance. This is a limitation of the current API.
  • If you accidentally scan your hands or other dynamic objects, remove the objects from the field of view, continue scanning, and look in the direction of the portion of the mesh you wish to update.

Note: there must be other surfaces behind the surface you wish to remove, otherwise that part of the reconstruction mesh will not be updated.