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 Active 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

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.

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.

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