# Unity Add-on

## Version

Release 0.6.0 — Dec 05 2025

## About

With this package, users can:

* Enter Text or Image Prompts to generate **3D Gaussian Splats (3DGS)** and **Mesh FBX Models**.
* Display **3D Gaussian Splat** assets inside Unity.
* Apply **cutouts**, **colliders** and **shadows** to **3D Gaussian Splats**.
* Import and Export **.ply** files.
* Convert **3DGS** to **Mesh**.

## Installation

### Software requirements

Unity 2022.3+

### Instructions

{% hint style="danger" %}
Previous Release must be removed before Installing Latest Release.
{% endhint %}

#### 1. From the [Unity Asset Store](https://assetstore.unity.com/packages/slug/311107) click "Add to My Assets"

#### 2. Download the Package

* In Unity, create a new 3D Project or open and existing one.
* Go to **My Assets**.
* Select **404—GEN** from the list.
* Click **Download**.

#### 3. Install the Package

* After the package has been downloaded click **Import**. When the import Window Appears, keep all files selected and click **Import**.

#### 4. Restart Unity

* **Please restart Unity before using the Plugin.**<br>

  Make sure the rendering backend is now set to

  * Directx 12 on Windows.
  * Metal on Mac OS.
  * Vulkan on Linux.

## Usage

### Generating

1. Go to **Window > 404-GEN 3D Generator** to open the generation window.
2. Type your **Text Prompt** or Import your **3D Image Prompt** and click **Generate**. Each generation should take **1 to 2 minutes**.

The 404-GEN 3D Generator window tracks the progress of generating the models for prompts. Once the prompt has been enqueued, it waits on the backend to complete the generation.#

<figure><img src="https://1213298515-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fxe5fWeM58LNIikrJwtEC%2Fuploads%2FVsO2RfVQsxbRVxssNXql%2FGenerate%202D%20Github.png?alt=media&#x26;token=79c36917-c952-45fa-8685-49d215bdb6f8" alt="" width="527"><figcaption></figcaption></figure>

Generation process changes states from [![Started](https://github.com/404-Repo/404-gen-unity-plugin/raw/asset-store/Editor/Images/pending.png)](https://github.com/404-Repo/404-gen-unity-plugin/blob/asset-store/Editor/Images/pending.png) Started to [![Completed](https://github.com/404-Repo/404-gen-unity-plugin/raw/asset-store/Editor/Images/complete.png)](https://github.com/404-Repo/404-gen-unity-plugin/blob/asset-store/Editor/Images/complete.png) Completed or [![Failed](https://github.com/404-Repo/404-gen-unity-plugin/raw/asset-store/Editor/Images/failed.png)](https://github.com/404-Repo/404-gen-unity-plugin/blob/asset-store/Editor/Images/failed.png) Failed.

Use available action icons to:

* [![Target](https://github.com/404-Repo/404-gen-unity-plugin/raw/asset-store/Editor/Images/close.png)](https://github.com/404-Repo/404-gen-unity-plugin/blob/asset-store/Editor/Images/close.png)cancel active prompt entry
* [![Target](https://github.com/404-Repo/404-gen-unity-plugin/raw/asset-store/Editor/Images/hidden.png)](https://github.com/404-Repo/404-gen-unity-plugin/blob/asset-store/Editor/Images/hidden.png) or [![Target](https://github.com/404-Repo/404-gen-unity-plugin/raw/asset-store/Editor/Images/visible.png)](https://github.com/404-Repo/404-gen-unity-plugin/blob/asset-store/Editor/Images/visible.png) show or hide created Gaussian splat model
* [![Target](https://github.com/404-Repo/404-gen-unity-plugin/raw/asset-store/Editor/Images/target.png)](https://github.com/404-Repo/404-gen-unity-plugin/blob/asset-store/Editor/Images/target.png) select generated model in Scene view and Inspector window
* [![Resend](https://github.com/404-Repo/404-gen-unity-plugin/raw/asset-store/Editor/Images/retry.png)](https://github.com/404-Repo/404-gen-unity-plugin/blob/asset-store/Editor/Images/retry.png) resend failed or canceled prompt
* [![Log](https://github.com/404-Repo/404-gen-unity-plugin/raw/asset-store/Editor/Images/logs.png)](https://github.com/404-Repo/404-gen-unity-plugin/blob/asset-store/Editor/Images/logs.png)**LOGS** show log messages in a tooltip
* [![Delete](https://github.com/404-Repo/404-gen-unity-plugin/raw/asset-store/Editor/Images/delete.png)](https://github.com/404-Repo/404-gen-unity-plugin/blob/asset-store/Editor/Images/delete.png) delete prompt entry
* [![Settings](https://github.com/404-Repo/404-gen-unity-plugin/raw/asset-store/Editor/Images/settings.png)](https://github.com/404-Repo/404-gen-unity-plugin/blob/asset-store/Editor/Images/settings.png) open Project settings for this package

### Prompts

For help structuring prompts, visit the Prompts section of this guide:

{% content-ref url="../prompts" %}
[prompts](https://guide.404.xyz/user-guide/prompts)
{% endcontent-ref %}

### Transformations

In addition to the Position, Rotation, and Scale values in the Inspector, there are two easily adjustable values.

* **Splat Scale:** Controls the size of the points, represented by ellipsoids, in the Gaussian Splat
* **Opacity Scale:** Points within Gaussian Splats have varying degrees of opacity. This increases or decreases the opacity of all points.

<figure><img src="https://1213298515-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fxe5fWeM58LNIikrJwtEC%2Fuploads%2FE3f6hFeOAY0LP7ohxIbw%2Fgs_scale.gif?alt=media&#x26;token=d0ae64df-dd34-4cca-b266-50d3e83eaa9e" alt="" width="450"><figcaption></figcaption></figure>

### Cutouts

The cutouts feature can be used to hide a selection of points within the Gaussian Splat, defined by either a box or ellipsoid.

Create a cutout for a selected Gaussian Splat by clicking **Add Cutout** under the Cutouts heading of the Inspector.

<figure><img src="https://1213298515-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fxe5fWeM58LNIikrJwtEC%2Fuploads%2FSbCmLg1k661WeLbCESeC%2Fcutout2.png?alt=media&#x26;token=b68754d1-9fcd-4c41-9159-56e7de71c523" alt="" width="551"><figcaption><p>Add cutouts</p></figcaption></figure>

Select a shape and move/scale/rotate as needed.

By default, only the points **inside** the cutout will be rendered. Select **invert** to render the points **outside** the cutout.

<figure><img src="https://1213298515-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fxe5fWeM58LNIikrJwtEC%2Fuploads%2FpfSQGXcyXx1yWL2gFPmh%2Fcutout.png?alt=media&#x26;token=5d2fb4f7-6db2-4211-8e6a-6bb20c0631f4" alt="" width="563"><figcaption><p>Inverted Ellipsoid cutout applied to a Gaussian Splat</p></figcaption></figure>

### Mesh Collider

The **Add Mesh Collider** button in the Inspector will add a convex hull mesh collider.

<figure><img src="https://1213298515-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fxe5fWeM58LNIikrJwtEC%2Fuploads%2F2aEY9LSzVtF9VlFycPVy%2F404_Screenshot_07.jpg?alt=media&#x26;token=61b2982b-63d6-428a-aa61-c96650c46951" alt="" width="563"><figcaption><p>Model with mesh collider</p></figcaption></figure>

### Shadows

Like the mesh collider, the **Add Shadow** button in the inspector adds an invisible convex hull mesh to the Gaussian Splat. The shadow it casts lacks any fine details, however the convex hull's low poly count makes it very lightweight.

<figure><img src="https://1213298515-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fxe5fWeM58LNIikrJwtEC%2Fuploads%2FvMESZqXYSaABOnMrMrkT%2FSplats%20with%20shadow.png?alt=media&#x26;token=b1472402-d3f2-4e99-ac15-cb6cd0213ad4" alt="" width="394"><figcaption><p>Gaussian Splat with shadow applied</p></figcaption></figure>

### Convert to Mesh

The **Convert to Mesh** button will open a Mesh Conversion window with input field (for Gaussian Splat component), file output folder location, conversion settings, reference fields for files that are created in the process (.ply and .mesh files), as well as the reference field for the game object that will be created and placed in current scene (Instance).

<figure><img src="https://1213298515-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fxe5fWeM58LNIikrJwtEC%2Fuploads%2FluVjo3uJ6uTvnVCV9W9D%2Fmesh-conversion.png?alt=media&#x26;token=08d850b2-872b-413c-bec1-38e3049930e6" alt="" width="375"><figcaption><p>Mesh conversion window</p></figcaption></figure>

The sliders adjust the level of detail on the mesh output.

Once the **Start conversion to Mesh** button is used the process will start populating the object fields as they are created. The process takes approximately **one minute** to convert the Gaussian Splat (PLY) to mesh (FBX).

### Import/Export .ply

The Gaussian Splat can be exported in .ply format using the **Export PLY** button.

.ply files can be imported by adding them to the project's Assets folder and the scene.

A large collection of Gaussian Splatting .ply files is available in the [404 Dataset](https://dataset.404.xyz/).

<figure><img src="https://1213298515-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fxe5fWeM58LNIikrJwtEC%2Fuploads%2F0ENZAe3cg04JMNBjwdVV%2Fdataset.png?alt=media&#x26;token=fa9a2c2e-4ac4-45ef-b442-a4f929998407" alt="" width="563"><figcaption></figcaption></figure>

## Gaussian Splats

To learn more about 3DGS (3D Gaussian Splatting), visit the Gaussian Splatting section of this guide:

{% content-ref url="../3d-gaussian-splatting-3dgs" %}
[3d-gaussian-splatting-3dgs](https://guide.404.xyz/user-guide/3d-gaussian-splatting-3dgs)
{% endcontent-ref %}
