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.

Image highlighting the test active package button in the Unity toolbar

The "active scene" is based on which package you currently have selected in the Spatial portal. Image highlighting the active package button in the Spatial portal

You can also change the active package on the dropdown button on the toolbar itself. Image highlighting the active package button in the toolbar

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. Image highlighting the active package button in the toolbar

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.

Image showing that uploading the sandbox was successful

To open the Sandbox on mobile, you can then go into your Spatial app and select the Sandbox menu item on the hamburger menu.

Image showing that uploading the sandbox was successful

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 the 500MB 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.

Image showing the lack of the spatial runtime while testing spaces in the Unity editor 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