# Option 2: Standalone Plugin

***

### PlayCanvas Standalone Plugin

For PlayCanvas projects that are not targeting publication to VIVERSE, this PlayCanvas standalone plugin is the first option for integrating Polygon Streaming into those projects. Because these projects will not be published to VIVERSE, we've created a standalone version of the plugin that does not utilize the PlayCanvas VIVERSE Chrome browser extension.

{% hint style="info" %}
***For using Polygon Streaming Standalone in PlayCanvas, the Basis Library needs to be imported inside your PlayCanvas project. To import the library go to: Settings -> Rendering -> and click the IMPORT BASIS button.***
{% endhint %}

{% stepper %}
{% step %}

#### Install the plugin

Download the latest version of the PlayCanvas standalone plugin [here](https://stream.viverse.com/assets/streamablemodel/2.8.1/playcanvas/PolygonStreaming-PlayCanvas-2.8.1.zip). Import the **polygon-streaming.js** script into the **Assets** window of the PlayCanvas project.

<figure><img src="https://3109683255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY3WbwobASVOf4RiqnLEI%2Fuploads%2FKFjtP4ynkHTMTOOfsmWc%2Fimage.png?alt=media&#x26;token=8a74cc66-c755-426b-9c3f-f5c1597dfdc6" alt="" width="282"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Create the StreamController

A. Create a new entity and name it **StreamController**. This entity will control the streaming models inside the project.&#x20;

B. Add the **StreamController** script to the StreamController entity. You can check detailed information on these parameters [here](https://docs.viverse.com/polygon-streaming/integrations-and-plugins/polygon-streaming-playcanvas-sdk/polygon-streaming-project-settings).

C. Add the **Camera** entity from the project to the **Camera** field.

<figure><img src="https://3109683255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY3WbwobASVOf4RiqnLEI%2Fuploads%2FoD2YT4jQFqhEInf4R5SO%2Fimage.png?alt=media&#x26;token=4478c2a8-1e4f-477d-8e1d-f5b5cbec6fba" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Create the StreamableModel&#x20;

A. Create a new entity and name it **StreamableModel**.

B. Add the **StreamableModel** script to the StreamableModel entity. This will create the component to stream the model inside the scene.

C. Paste the **URL** address of your streaming model into the **Path or url to model** field.&#x20;

<figure><img src="https://3109683255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY3WbwobASVOf4RiqnLEI%2Fuploads%2F4MmeVPGvnfawEBDxDtuZ%2Fimage.png?alt=media&#x26;token=23d545d1-4d13-40dd-beb7-4c89087640b5" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Test the model

Launch the project in the PlayCanvas editor to test the streaming model.

<figure><img src="https://3109683255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY3WbwobASVOf4RiqnLEI%2Fuploads%2FiSviPiltfmBNNkQBNhVa%2Fimage.png?alt=media&#x26;token=746b694e-2801-435e-aac6-ddfa31953750" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

### Component Attributes

See [here](https://docs.viverse.com/polygon-streaming/integrations-and-plugins/polygon-streaming-playcanvas-sdk/plugin-usage/component-attributes) for a description of the attributes used in the Stream Controller and Streamable Model components.
