> For the complete documentation index, see [llms.txt](https://docs.viverse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.viverse.com/polygon-streaming/integrations-and-plugins/polygon-streaming-unity-sdk/quick-start.md).

# Quick Start

Get a model streaming in your Unity scene in under 5 minutes.

* Complete the [SDK installation](/polygon-streaming/integrations-and-plugins/polygon-streaming-unity-sdk.md).
* Have a converted XRG model URL ready; see [Upload and Convert a 3D Asset](/polygon-streaming/upload-and-convert-a-3d-asset.md).
* Use a scene with a camera and place the model within its view.

***

### Option A: Use Prefabs (Recommended)

The SDK includes ready-to-use prefabs. Import them first:

1. Open **Window > Package Manager**.
2. Select **Polygon Streaming** from the package list.
3. Expand the **Samples** section and click **Import**.

Then in your scene:

1. Drag the **Stream Controller** prefab into your scene. Assign your scene camera to the **Viewer Camera** field.
2. Drag the **Streaming Model** prefab into your scene. Assign the `StreamController` to the **Stream Controller** field, and paste your XRG model URL into **Source Url**.
3. Press Play.

***

### Option B: Manual Setup

If you prefer to set up from scratch:

1. Create an empty GameObject, add the `StreamController` component, and assign your scene camera to **Viewer Camera**.
2. Create another empty GameObject where you want the model to appear, add the `StreamingModel` component, assign the `StreamController`, and paste your XRG URL into **Source Url**.
3. Press Play.

> If Viewer Camera is left empty, the SDK falls back to `Camera.main` at runtime and logs a warning.

The model begins streaming automatically on the first frame. No code required for basic usage.

***

### Scene Preview (Edit Mode)

The `StreamingModelPreview` component (added automatically) renders a lightweight preview of each model directly in the Scene View while in Edit Mode. Toggle it on or off in the Inspector.

***

### Required Layer (Occlusion Culling)

If occlusion culling is enabled (default), add a layer named exactly **PolygonStreaming** in **Edit > Project Settings > Tags and Layers**. The SDK auto-creates this layer in the Editor via `AutoAddLayerOnLoad`, but verify it exists if you encounter occlusion issues.

***

### Cache Settings

On first use, the SDK creates `Assets/Resources/SosCacheSettings.asset` automatically. This ScriptableObject controls memory and disk cache sizes. You do not need to create it manually.

***

### Next Steps

* [Stream Controller Settings](/polygon-streaming/integrations-and-plugins/polygon-streaming-unity-sdk/stream-controller-settings.md) — Configure LOD budgets, occlusion culling, and distance factors.
* [Streaming Model Component ](/polygon-streaming/integrations-and-plugins/polygon-streaming-unity-sdk/streaming-model-component.md)— Per-model options: materials, animation, VRM settings.
* [Static Model Streaming](/polygon-streaming/integrations-and-plugins/polygon-streaming-unity-sdk/static-model-streaming.md) — Code examples for runtime control of static models.
* [Animated GLB Models](/polygon-streaming/integrations-and-plugins/polygon-streaming-unity-sdk/animated-glb-models.md) — Play embedded animations with custom Animator Controllers.
* [VRM Avatar Streaming](/polygon-streaming/integrations-and-plugins/polygon-streaming-unity-sdk/vrm-avatar-streaming.md) — Expressions, spring bones, look-at, VRMA, and Mecanim.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.viverse.com/polygon-streaming/integrations-and-plugins/polygon-streaming-unity-sdk/quick-start.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
