Testing Your Project
Creator Toolkit spaces can be easily tested in the Spatial sandbox. You should not test your space in the Unity editor.
A space package can be uploaded to your sandbox by clicking the Test Scene
button inside the Unity Editor.
The "active scene" is based on which package you currently have selected in the Spatial portal.
You can also change the active package on the dropdown button on the toolbar itself.
Once your space is uploaded it should automatically open in your web browser. You can access the sandbox again at anytime by navigating to https://www.spatial.io/sandbox.
Testing Sandbox on other platforms
By default, when pressing the Test Space
or Test Package
button, the toolkit will build it to the web target platform and then open your web browser.
Sometimes though, you'd like to test how your package looks on other platforms, such as Android or iOS. In order to test sandbox on these platforms, you can change the target platform using the dropdown button at the left side of the Test button.
Once changed, you can now press the Test Space
/Test Package
button to build and upload the sandbox on this target platform. Once this is done, a popup will let you know that you can test the sandbox in the specified platform.
To open the Sandbox on mobile, you can then go into your Spatial app and select the Sandbox menu item on the hamburger menu.
Sandbox Limitations
- The sandbox is a private space, only accessible by your account. Other users cannot be invited to enter.
- The sandbox is only accessible only on Web. It is not possible to access the Sandbox on mobile or VR at this time.
- Content can be uploaded to the Sandbox via the Spatial web app - i.e. videos, phots, 3D models, etc. However any content upload into your Sandbox will not be present in your published space.
- The sandbox has a larger maximum upload limit than published spaces. Packages up to
1GB
can be uploaded to the sandbox compared to the500MB
limit for published packages. - The sandbox can only be tested on one platform at a time. If the sandbox was built and uploaded for iOS for example, it can't be accessed on the web or on the Android Spatial app.
Unity Editor Limitations
Entering play mode with the toolkit inside the Unity Editor will function but will produce greatly different results form testing in sandbox or a published space. This is because the Spatial runtime is not available inside the Unity editor. Remember that spaces are a modification on top of the core Spatial runtime.
We have taken steps to ensure the SpatialBridge
is accessible in editor, however it has very limited implementations and many system are completely absent. Testing in sandbox should always be your source of truth during development.
Current Unity Editor Spatial simulation support matrix
IActorService
- Support local actor
- Support remote actors
Local Actor:
- custom properties
- user properties (display name, profile, etc)
Local Avatar:
- entrance point spawning
- movement
- jumping
- ground materials
- collision callbacks
- avatar visibility
- falling
- sitting
- avatar body loading
- avatar bones
- climbing
- movement material sfx
- display name
- nametag
- ragdoll
- body materials
- emote
- attachments
- trigger event detection
- point of interest detection
- interactable detection / action
IAdService
- full support
IAudioService
- full support
IBadgeService
- full support
ICameraService
- click to rotate
- follow avatar by default
- change target override
- virtual camera support
- vehicle follow mode
- cinemachine support
ICoreGUIService
- full support
IEventService
- full support
IGraphicsService
- full support
IInputService
- avatar input overrides
- vehicle input overrides
- emote bindings
IInventoryService
- basic support
- world currency balance
- item adding / deleting
ILoggingService
- full support
IMarketplaceService
- basic support
- inventory connection
INetworkingService
- server teleport
- server properties
IQuestService
- quest progress
- quest ui
ISpaceContentService
- basic support
- spawn prefab object
- full support
ISpaceService
- openurl
- enable avatar to avatar collisions
- space liked
ISpatialComponentService
- Spatial Trigger
- Climbable
- Camera passthrough
- Seat hotspot
- Interactable
- Point of Interest
- Avatar Teleporter
IUserWorldDataStoreService
- full support
IVFXService
- full support
Other features
- visual scripting hooks (this is in general for everything related to editor simulation)
- event system / standalone input system