> For the complete documentation index, see [llms.txt](https://docs.openbrush.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.openbrush.app/user-guide/exporting-open-brush-sketches-to-other-apps/configuring-export.md).

# Configuring Export

We've changed how export in general is configured. Previously all supported formats were exported whether you needed them or not. Some were pretty slow for large scenes (STL - looking at you) and you probably only needed a couple of them. Now you can choose which are available using the config file:

```json
{
  "Export": {
    "ExportBinaryFbx": true,
    "ExportFbxVersion": "FBX201400",
    "ExportStrokeMetadata": true,
    "KeepStrokes": true,
    "KeepGroups": false,
    "Formats": {
      "fbx": true,
      "glb": true,
      "newglb": true,
      "json": true,
      "latk": true,
      "obj": true,
      "stl": false,
      "usd": true,
      "wrl": false
    }
  }
}
```

* **ExportBinaryFbx**: Controls whether exported FBX files use binary or ASCII encoding. `true` selects binary FBX; `false` selects ASCII FBX.
* **ExportFbxVersion**: Selects the FBX format version. Supported values are `FBX201600`, `FBX201400`, `FBX201300`, `FBX2012` and `FBX201100`. The default is `FBX201400`; try an older version when importing into older software.
* **ExportStrokeTimestamp:** (true | false) This will put timing information into texcoord2 for all GLB exports. Timestamps are a vec3: x,y = the earliest/latest timestamp in the stroke which contains that vertex. z = the timestamp for that vertex. This setting defaults to true but can be disabled to reduce file size.
* **ExportStrokeMetadata**: includes extra information with each stroke that might be useful to developers writing their own importers

## JSON exports include sketch metadata

Enabling the `json` format writes two files:

1. `<sketch-name>.json` contains the raw exported brush-stroke data.
2. `<sketch-name>.metadata.json` contains the scene metadata normally stored inside the `.tilt` file.

The metadata can include the author, environment and custom lighting, imported models and media, guides, colour palette, scene transform, camera paths, layers, application version and other scene features. It complements the raw stroke JSON rather than duplicating it.

* **KeepStrokes**: Each stroke will be exported as a separate mesh rather than grouped by brush type (export will take longer and may fail on complex scenes)
* **KeepGroups**: Maintains groups on export (export will take longer and may fail on complex scenes)
* **Formats**: Each key enables or disables that export format. `glb` uses the legacy Open Brush exporter; `newglb` uses the newer UnityGLTF scene-hierarchy exporter.

Note that formats not supported on your platform will be ignored. See below for platform support.

### Supported GLTF Extensions with New GLB exports

**Extensions supported**

* KHR\_materials\_clearcoat
* KHR\_materials\_emissive\_strength
* KHR\_materials\_ior
* KHR\_materials\_iridescence
* KHR\_materials\_specular
* KHR\_materials\_transmission (soon)
* KHR\_materials\_volume (soon)
* MSFT\_lod
* KHR\_draco\_mesh\_compression
* KHR\_lights\_punctual
* KHR\_materials\_unlit
* KHR\_mesh\_quantization
* KHR\_texture\_basisu
* KHR\_texture\_transform

(The above list may change as we implement missing features in UnityGLTF.

### Choosing between the new and old GLTF formats

The use of the new exporter is currently optional and we will continue to support the old exporter until the new one is a full replacement.

* If you're using the existing [Open Brush Unity Toolkit/SDK](/user-guide/open-brush-unity-sdk.md) then use the older GLB format
* If you're manually uploading to [Icosa Gallery](https://icosa.gallery/) then use the older GLB format
* If you're use the [Icosa three.js loader](https://github.com/icosa-foundation/three-icosa) this also works best with the older exporter.
* The new GLB export format should work better in Blender and other 3D animation apps although we still have work to do to fix support for particle brushes, transparent brushes and other features.
* Imported 3D models will export much better with the new GLB exporter
* In general new features in the [beta](/alternate-and-experimental-builds/open-brush-beta-docs.md) or from other [experimental branches](/alternate-and-experimental-builds.md) will work better using the new exporter.

### Platform Support

<table><thead><tr><th width="151">Format</th><th align="center">Android/iOS (Standalone VR)</th><th align="center">PC (Tethered VR)</th></tr></thead><tbody><tr><td>FBX</td><td align="center"><mark style="color:red;">✘</mark></td><td align="center"><mark style="color:green;">✔</mark></td></tr><tr><td>GLB</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark></td></tr><tr><td>NEWGLB</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark></td></tr><tr><td>JSON</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark></td></tr><tr><td>LATK</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark></td></tr><tr><td>OBJ</td><td align="center"><mark style="color:red;">✘</mark></td><td align="center"><mark style="color:green;">✔</mark></td></tr><tr><td>STL</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark></td></tr><tr><td>USD</td><td align="center"><mark style="color:red;">✘</mark></td><td align="center"><mark style="color:green;">✔</mark></td></tr><tr><td>WRL</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark></td></tr><tr><td></td><td align="center"></td><td align="center"></td></tr></tbody></table>

### Breaking Apart Imported Models

This build supports a new feature - The existing "group/ungroup" button on the pop-out tray that appears when you activate the [Selection Tool](/user-guide/using-the-open-brush-tools-quick-tools-and-menu-panels/tools-panel/selection-options.md) now works on imported models - if they consist of multiple parts. Just select a single imported model and if it does have sub-parts the button will show "ungroup" as an option - the same as if you select a normal grouped set of objects.

### Importing Lights

If your imported model contains lights then these will appear in the scene and will act upon other objects the same as the [Environment Lights](/user-guide/using-the-open-brush-tools-quick-tools-and-menu-panels/extras-panel/lights-panel.md). Furthermore imported lights support point lights and spot lights - whereas the existing environment lights only support directional lights.

These additional lights will only affect imported 3d models - they will not affect brush strokes which ignore lights other than the ones configured in your [environment settings](/user-guide/using-the-open-brush-tools-quick-tools-and-menu-panels/extras-panel/lights-panel.md)

{% embed url="<https://www.youtube.com/watch?v=98drHT5DD7Y>" %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.openbrush.app/user-guide/exporting-open-brush-sketches-to-other-apps/configuring-export.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
