Unity Integration
Last updated
Last updated
Install our Unity plugin to import ShapesXR spaces into the Unity editor. This allows you to enhance your spaces with interactive elements, model replacements, particle systems, and more. However, please note that exporting spaces back to ShapesXR is currently not supported.
Please note that we highly recommend using Unity 6 version, as it ensures a smoother experience without any additional setup.
If you've already installed an old version of the Unity plugin, please remove it and install it again by following the steps below.
Install Unity (go to the official Unity page and install Unity Hub by clicking the Download button). If you already have it installed - skip to the next step.
Open the Unity Hub and click the “New Project” button.
Choose the Editor Version (we recommend version 6), “Universal 3D” template, set the project name and location, and then click “Create project”.
After the project is created, unpack the downloaded zip into the YOUR_PROJECT/Packages directory - you can select the project tab, find Packages there and drag the folder into Packages.
Wait until the importing is done.
Go to Edit -> Project Settings -> Package Manager and add the following dependencies:
Alternatively, you can open the manifest.json file for your project (you can find it in YOUR_PROJECT/Packages directory) and add this block on top, before “dependencies”:
Please note, how it should look in the manifest.json file:
Go back to Unity and wait until the scripts are applied. The ShapesXR tab should appear in the Main menu. Now the plugin is ready for use.
Go to ShapesXR tab and click on Importer. The plugin will be opened. You can dock this window wherever you want (e.g. next to the Inspector tab).
In the ShapesXR Importer window, type a code of a space you want to export (how to get the Space code read here) into the input field and click the “Import Space” button.
Please import the TMP essentials if Unity asks you to do it at the first space import.
After the space is imported, you will see a new game object on the scene representing your space with all the scenes and viewpoints inside it.
Select your space in the Hierarchy, and in the Inspector tab, you'll see the 'Space Descriptor' script enabled. This script allows you to view the space code, quickly cycle through scenes using a slider, and reimport your space. You can safely remove this component if you don’t need this functionality.
You can also expand the “Settings” panel in the Importer window to change the imported data storage directory, material import mode, and material mapper. Material mapper allows you to use your custom shaders instead of the built-in ones. Open any material mapper asset in the inspector to see how you can map your materials if needed. URP and Built-in material mappers are included in the package by default.
Please note that we don’t support multiple textures per material yet and your models must comply with import recommendations for best results.
You can import GLB/GLTF models from your space to Unity.
In order to import them in Unity you need to install a GLB/GLTF plugin. We recommend glTFast (GitHub - atteneder/glTFast: Efficient glTF 3D import / export package for Unity)
In case you’re using another plugin, you should add a name for the shader property for your main texture, since every plugin might generate and use different materials/shaders.
Join our Discord server to ask any questions regarding the Unity plugin, and share your creativity with us. Or email us with any questions at Support@shapesxr.com.