# Limits and recommendations

### 3D models

**Available formats:** OBJ, GLB, glTF (as ZIP), and STL

#### **Recommended Limits (for best results)**

* **Polygon count:**
  * ✅ Best: **under 500k**
  * ⚠️ Risk of artifacts: **500k – 6M**
  * ❌ Above 6M: heavy simplification likely
* **Submeshes:**
  * ✅ Recommended: **under 400**
  * 400+ submeshes will be **merged into a single mesh/material**
* **Texture resolution:** **2K–4K recommended**

{% hint style="warning" %}
Our application currently does not support animations, bones, or skins in 3D models
{% endhint %}

### Images

**Available formats:** PNG and JPG + Figma files

**Recommended image specifications:** &#x20;

&#x20;                             *Up to 1MB and 1024x1024px.*

**Hard**:  Up to 2048 px (images compress automatically).

### MP4 videos&#x20;

* **Codec:** H.264 (video) + AAC (audio)
* **Container:** MP4
* **Bitrate:** 2–5 Mbps for 1080p

If you experience performance issues, reduce the video resolution to **720p** or **480p**, especially when the video is not displayed in full screen.

### File size limits

50 MB per import file for the Starter plan (free).

200 MB per import file for[ Paid plans](https://www.shapesxr.com/plans).

### General performance recommendations

Be careful, standalone VR is very sensitive to the number of objects, sub-objects, and matrices - this can greatly affect performance.

[Recommend 200-300 objects/materials per scene (Draw calls) for Quest 2](https://developer.oculus.com/documentation/unity/unity-perf/#performance-targets). Note that ShapesXR interfaces, avatars, and other elements can take 50-100 draw calls.

If it is possible to merge individual geometries into one model and merge textures, this will help you save performance in your scenes.

{% hint style="info" %}
**To improve the performance of your VR space with imported models, we recommend optimizing your models.**

If your model has multiple textures and materials, we recommend combining the textures and materials into one texture and one material.

This helps solve many potential issues. Models with fewer materials work better in mobile graphics.

It is critical to make one texture and material for OBJ format. But for glTF or GLB formats, we also recommend minimizing the number of materials and textures.

* Bake Multiple Materials to One Texture Map - <https://www.youtube.com/watch?v=wG6ON8wZYLc>  Author: Ryan King Art
  {% endhint %}
