[glTF](https://github.com/KhronosGroup/glTF/tree/master/specification/2.0) files can be used in the [3D Layer](https://docs.foursquare.com/analytics-products/docs/layer-3d) and the [Trip Layer](https://docs.foursquare.com/analytics-products/docs/layer-trip) in Studio.

Studio supports glTF files as follows:

- glTF v2 files  
- glTF v1 files are supported on a best effort basis, but are not guaranteed to work.  
- A subset of glTF extensions are supported, see table below.

While all supported glTF files will load and render in Studio, the following rendering features are not supported:

- morph targets, joints and skins  
- order independent transparency (rendering artifacts for transparent materials).

> Note: simple (scene graph) animations and basic transparency are supported.

## glTF Extensions

The glTF format evolves by adding optional extensions to the specification.

The following glTF extensions are currently supported by Studio:

| glTF extension | Description |
| --- | --- |
| [`KHR_draco_mesh_compression`](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_draco_mesh_compression). | Compressed mesh attributes (geometry). |
| [`KHR_materials_unlit`](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_unlit) | Specifies that a material should not be affected by light. Useful for pre-lit materials (e.g. photogrammetry). |

Most glTF extensions are optional, so even if a glTF file contains an extension that is not supported by the Studio Platform, the Studio application will still be able load and display the file.

It is however possible for a glTF file to mark an extension as required, in this case Studio may fail to load it if the extension is not supported.
