SGameObject

Functions

SubscribeToEvents

void SubscribeToEvents ()

Causes this script to start listening to events on the object.

This function is now automatically called by events that require it

Space.Host.ExecutingObject.SubscribeToEvents()

SetSiblingIndex

void SetSiblingIndex (int newIndex)

Sets the sibling index.

Use this to change the sibling index of the GameObject. If a GameObject shares a parent with other GameObjects and are on the same level (i.e. they share the same direct parent), these GameObjects are known as siblings. The sibling index shows where each GameObject sits in this sibling hierarchy.

Use SetSiblingIndex to change the GameObject’s place in this hierarchy. When the sibling index of a GameObject is changed, its order in the Hierarchy window will also change.

Parameter
Type
Description

Space.Host.ExecutingObject.SetSiblingIndex(2)

SetAsFirstSibling

void SetAsFirstSibling ()

This GameObject becomes the first Sibling

Space.Host.ExecutingObject.SetAsFirstSibling()

SetAsLastSibling

void SetAsLastSibling ()

This GameObject becomes the last Sibling

Space.Host.ExecutingObject.SetAsLastSibling()

Duplicate

SGameObject Duplicate ()

Copies the object and returns a reference to the copy. Equivalent to calling Instantiate() in Unity

local copy = Space.Host.ExecutingObject.Duplicate()
--this script will make this object, once clicked, duplicate itself, then the duplicate
--moves up and then duplicate itself again and the duplicate move down (total 3 vertically aligned)
--(Example: cells multiplying)


thisGameObject = Space.Host.ExecutingObject


OnClick = function()

local firstDuplicate = thisGameObject.Duplicate()
firstDuplicate.WorldPosition = firstDuplicate.WorldPosition + firstDuplicate.Up
local secondDuplicate = thisGameObject.Duplicate()
secondDuplicate.WorldPosition = secondDuplicate.WorldPosition - secondDuplicate.Up

end

thisGameObject.AddClickable()
thisGameObject.Clickable.Tooltip="Click to watch me multiply "
thisGameObject.Clickable.OnClick(OnClick)

Instantiate

SGameObject Instantiate ()

Copy of Duplicate() for convenience

NewGameObject = Space.Host.ExecutingObject.Instantiate()
--this script will make this object, once clicked, duplicate itself, then the duplicate
--moves up and then duplicate itself again and the duplicate move down (total 3 vertically aligned)
--(Example: cells multiplying)


thisGameObject = Space.Host.ExecutingObject


OnClick = function()

local firstDuplicate = thisGameObject.Instantiate()
firstDuplicate.WorldPosition = firstDuplicate.WorldPosition + firstDuplicate.Up
local secondDuplicate = thisGameObject.Instantiate()
secondDuplicate.WorldPosition = secondDuplicate.WorldPosition - secondDuplicate.Up

end

thisGameObject.AddClickable()
thisGameObject.Clickable.Tooltip="Click to watch me multiply "
thisGameObject.Clickable.OnClick(OnClick) 

AddHingeJoint

SHingeJoint AddHingeJoint ()

Adds a Hinge Joint component to this Game Object and returns its reference

NewHingeJoint = Space.Host.ExecutingObject.AddHingeJoint()
--clicking this object will add a Hinge Joint component to it at runtime

thisObject = Space.Host.ExecutingObject


OnClick = function()
HJ = thisObject.AddHingeJoint()
end



thisObject.AddClickable()
thisObject.Clickable.OnClick(OnClick)

AddLight

SLight AddLight ()

Adds a Light component to the object.

newLightComponent = Space.Host.ExecutingObject.AddLight()

AddAnimator

SAnimator AddAnimator ()

Adds an Animator component to this Game Object and returns its reference

NewAnimator = Space.Host.ExecutingObject.AddAnimator()
--clicking this object will add an animator to it and controller at runtime

thisObject = Space.Host.ExecutingObject
theResource = Space.GetResource("An Animator Controller") -- add controller to resources in Scripting Runtime


OnClick = function()
Animator = thisObject.AddAnimator()  
Animator.Controller = theResource
end



thisObject.AddClickable()
thisObject.Clickable.OnClick(OnClick)

AddAudioSource

SAudioSource AddAudioSource ()

Adds an AudioSource component to the object.

newAudioSourceComponent = Space.Host.ExecutingObject.AddAudioSource()

AddClickable

SClickable AddClickable ()

Adds a Clickable component to the object.

newClikcableComponent = Space.Host.ExecutingObject.AddClickable()

GetScript

SScriptingRuntime GetScript (string name)

Returns a Scripting Runtime component attached to this object by Component Name, or nil if none exist

Parameter
Type
Description

scriptingRuntime = Space.Host.ExecutingObject.GetScript("scriptingruntimecomponentname")

GetScriptsInChildren

List< SScriptingRuntime > GetScriptsInChildren (string name, bool includeInactive=false)

Returns Scripting Runtime components attached to this object by Component Name or its children

Parameter
Type
Description

tableScriptsInChildren = Space.Host.ExecutingObject.GetScriptsInChildren("scriptingruntimecomponentname",true)

GetScriptInChildren

SScriptingRuntime GetScriptInChildren (string name, bool includeInactive=false)

Returns a Scripting Runtime component attached to this object or its children by Component Name, or nil if none exist

Parameter
Type
Description

scriptingRuntimeInChildren = Space.Host.ExecutingObject.GetScriptInChildren("scriptingruntimecomponentname",true)

GetScriptInParent

SScriptingRuntime GetScriptInParent (string name)

Returns a Scripting Runtime component attached to this object or its parents by Component Name, or nil if none exist

Parameter
Type
Description

scriptingRuntimeInParent = Space.Host.ExecutingObject.GetScript("scriptingruntimecomponentname")

GetEvents

SScriptingEvents GetEvents (string name)

Function Description

Parameter
Type
Description

name

string

scriptingEvent = Space.Host.ExecutingObject.GetEvents('ScriptingEventsComponentName')

GetAllEventsInChildren

List< SScriptingEvents > GetAllEventsInChildren (string name, bool includeInactive=false)

Function Description

Parameter
Type
Description

tableScriptingEvent = Space.Host.ExecutingObject.GetAllEventsInChildren

GetEventsInChildren

SScriptingEvents GetEventsInChildren (string name, bool includeInactive=false)

Function Description

Parameter
Type
Description

scriptingEvent = Space.Host.ExecutingObject.GetEventsInChildren('ScriptingEventsComponentName')
--or
scriptingEvent = Space.Host.ExecutingObject.GetEventsInChildren('ScriptingEventsComponentName', true)

GetEventsInParent

SScriptingEvents GetEventsInParent (string name)

Function Description

Parameter
Type
Description

scriptingEvent = Space.Host.ExecutingObject.GetEventsInParent('ScriptingEventsComponentName')

GetResources

SScriptingResources GetResources (string name)

Function Description

Parameter
Type
Description

Space.Host.ExecutingObject.GetResources('ResourcesComponentName')

GetAllResourcesInChildren

List< SScriptingResources > GetAllResourcesInChildren (string name, bool includeInactive=false)

Function Description

Parameter
Type
Description

tableScriptingResources = Space.Host.ExecutingObject.GetAllResourcesInChildren('ScriptingResourcesComponentName')
--or
tableScriptingResources = Space.Host.ExecutingObject.GetAllResourcesInChildren('ScriptingResourcesComponentName', true)

GetResourcesInChildren

SScriptingResources GetResourcesInChildren (string name, bool includeInactive=false)

Function Description

Parameter
Type
Description

tableScriptingResources = Space.Host.ExecutingObject.GetResourcesInChildren('ScriptingResourcesComponentName')
--or
tableScriptingResources = Space.Host.ExecutingObject.GetResourcesInChildren('ScriptingResourcesComponentName', true)

GetResourcesInParent

SScriptingResources GetResourcesInParent (string name)

Function Description

Parameter
Type
Description

tableScriptingResources = Space.Host.ExecutingObject.GetResourcesInParent('ScriptingResourcesComponentName')

GetData

SScriptingData GetData (string name)

Returns a Scripting Data component attached to this object by Component Name, or nil if none exist

Parameter
Type
Description

scriptingData = Space.Host.ExecutingObject.GetData("scriptingdatacomponentname")

GetAllDataInChildren

List< SScriptingData > GetAllDataInChildren (string name, bool includeInactive=false)

Returns Scripting Data components attached to this object by Component Name or its children

Parameter
Type
Description

tableScriptingDataInChildren = Space.Host.ExecutingObject.GetAllDataInChildren("scriptingdatacomponentname",true)

GetDataInChildren

SScriptingData GetDataInChildren (string name, bool includeInactive=false)

Returns a Scripting Data component attached to this object or its children by Component Name, or nil if none exist

Parameter
Type
Description

scriptingDataInChildren = Space.Host.ExecutingObject.GetDataInChildren("scriptingdatacomponentname",true)

GetDataInParent

SScriptingData GetDataInParent (string name)

Returns a Scripting Data component attached to this object or its parents by Component Name, or nil if none exist

Parameter
Type
Description

scriptingDataInParent = Space.Host.ExecutingObject.GetDataInParent("scriptingdatacomponentname")

AddRigidbody

SRigidbody AddRigidbody ()

Adds a Rigidbody component to the object.

newRigibodyComponent = Space.Host.ExecutingObject.AddRigidbody()

AddNavMeshAgent

SNavMeshAgent AddNavMeshAgent ()

Adds a NavMeshAgent component to the object.

newNavMeshAgentComponent =  Space.Host.ExecutingObject.AddNavMeshAgent()

AddSeat

SSeat AddSeat ()

Adds a Seat component to the object.

newSeatComponent = Space.Host.ExecutingObject.AddSeat()

OnAwake

void OnAwake (Closure e)

Binds a event to the Awake() event.

Parameter
Type
Description

function F()
Space.Log("bound")
end
Space.Host.ExecutingObject.OnAwake(F)

OnStart

void OnStart (Closure e)

Binds a event to the Start() event.

Parameter
Type
Description

function F()
Space.Log("bound")
end
Space.Host.ExecutingObject.OnStart(F)

OnEnable

void OnEnable (Closure e)

Binds a event to the OnEnable() event.

Parameter
Type
Description

function F()
Space.Log("bound")
end
Space.Host.ExecutingObject.OnEnable(F)

OnDisable

void OnDisable (Closure e)

Binds a event to the OnDisable() event.

Parameter
Type
Description

function F()
Space.Log("bound")
end
Space.Host.ExecutingObject.OnDisable(F)

OnFixedUpdate

void OnFixedUpdate (Closure e)

Binds a event to the OnFixedUpdate() event.

Parameter
Type
Description

function F()
Space.Log("bound")
end
Space.Host.ExecutingObject.OnFixedUpdate(F)
--this script will make this object move forward each physics frame
thisObject = Space.Host.ExecutingObject

OnFixedUpdate = function()
  
  thisObject.WorldPosition = thisObject.WorldPosition + (thisObject.Forward * 0.01 )
--unlike OnUpdate we did not multiply by Space.DeltaTime 
--because OnFixedUpdate executes at the same rate regardless
end


thisObject.OnFixedUpdate(OnFixedUpdate)

OnLateUpdate

void OnLateUpdate (Closure e)

Binds a event to the OnLateUpdate() event.

Parameter
Type
Description

function F()
Space.Log("bound")
end
Space.Host.ExecutingObject.OnLateUpdate(F)
--this script will make this object move forward each frame
--but it will be last to move among other objects (read about OnLateUpdate)
--(example: camera movement)
thisObject = Space.Host.ExecutingObject

OnLateUpdate = function()
  
  thisObject.WorldPosition = thisObject.WorldPosition + (thisObject.Forward * 0.01 * Space.DeltaTime)
--we multipy by Space.DeltaTime so that it behaves the same for all players
--even though they have different FPS (frames per second)
end


thisObject.OnLateUpdate(OnLateUpdate)

OnTriggerStart

void OnTriggerStart (Action< SGameObject > e) void OnTriggerStart (Closure e)

When a GameObject collides with another GameObject, Unity calls OnTriggerEnter.

OnTriggerEnter happens on the FixedUpdate function when two GameObjects collide. The Colliders involved are not always at the point of initial contact.

Note: Both GameObjects must contain a Collider component. One must have Collider.isTrigger enabled, and contain a Rigidbody. If both GameObjects have Collider.isTrigger enabled, no collision happens. The same applies when both GameObjects do not have a Rigidbody component.

Parameter
Type
Description

this = Space.Host.ExecutingObject

OnTriggerStart  = function(SGameObject)
 Space.Log("Trigger Start")
end

this.OnTriggerStart (OnTriggerStart )
 --the below scipt makes this object a boundary area where flying gets blocked
--while player is in it and flying is allowed once player leaves it
--(Example: No fly zone)
--[This object's collider needs to be set as IsTrigger (Please read about OnTriggerStart for troubleshooting)]

thisGameObject = Space.Host.ExecutingObject

OnTriggerStart = function(TriggerStarter)
  if TriggerStarter.Root.Avatar ~= nil then
    if TriggerStarter.Root.Avatar.Username == Space.Scene.PlayerAvatar.Username then
      Space.Scene.PlayerAvatar.BlockFly = true
    end
  end
end


OnTriggerExit = function(TriggerExiter)
  if TriggerExiter.Root.Avatar ~= nil then
    if TriggerExiter.Root.Avatar.Username == Space.Scene.PlayerAvatar.Username then
      Space.Scene.PlayerAvatar.BlockFly = false
    end
  end
end

thisGameObject.OnTriggerStart(OnTriggerStart)
thisGameObject.OnTriggerExit(OnTriggerExit) 

OnTriggerStay

void OnTriggerStay (Action< SGameObject > e) void OnTriggerStay (Closure e)

OnTriggerStay is called almost all the frames for every Collider other that is touching the trigger. The function is on the physics timer so it won't necessarily run every frame.

This message is sent to the trigger and the collider that touches the trigger. Note that trigger events are only sent if one of the colliders also has a rigidbody attached. Trigger events will be sent to disabled MonoBehaviours, to allow enabling Behaviours in response to collisions.

Parameter
Type
Description

this = Space.Host.ExecutingObject

OnTriggerStay  = function(SGameObject)
 Space.Log("Trigger Stay")
end

this.OnTriggerStay(OnTriggerStay)
--the below scipt makes this object a boundary area where any user entering it
--will be blocked from movement for 10 seconds, then the object will release controls and
--destry itself after that
--(Example: freezing trap)
--[This object's collider needs to be set as IsTrigger (Please read about OnTriggerStart for troubleshooting)]

thisGameObject = Space.Host.ExecutingObject
FrozenTime = 0.0

OnTriggerStart = function(TriggerStarter)
  if TriggerStarter.Root.Avatar ~= nil then
    if TriggerStarter.Root.Avatar.Username == Space.Scene.PlayerAvatar.Username then
      Space.Scene.PlayerAvatar.BlockMovement = true
    end
  end
end

OnTriggerStay = function(TriggerStayer)
  if TriggerStayer.Root.Avatar ~= nil then
    if TriggerStayer.Root.Avatar.Username == Space.Scene.PlayerAvatar.Username then
      FrozenTime = FrozenTime + Space.DeltaTime
        if FrozenTime > 20 then
        Space.Scene.PlayerAvatar.BlockMovement = false
        thisGameObject.Destroy()
        end
    end
  end
end

thisGameObject.OnTriggerStart(OnTriggerStart)
thisGameObject.OnTriggerStay(OnTriggerStay)

OnTriggerExit

void OnTriggerExit (Action< SGameObject > e) void OnTriggerExit (Closure e)

OnTriggerExit is called when the Collider other has stopped touching the trigger.

This message is sent to the trigger and the Collider that touches the trigger. Notes: Trigger events are only sent if one of the Colliders also has a Rigidbody attached. Trigger events will be sent to disabled MonoBehaviours, to allow enabling Behaviours in response to collisions. OnTriggerExit occurs on the FixedUpdate after the Colliders have stopped touching. The Colliders involved are not guaranteed to be at the point of initial separation.

Parameter
Type
Description

this = Space.Host.ExecutingObject

OnTriggerExit  = function(SGameObject)
 Space.Log("Trigger Stay")
end

this.OnTriggerExit(OnTriggerExit)
--the below scipt makes this object a boundary area where flying gets blocked
--while player is in it and flying is allowed once player leaves it
--(Example: No fly zone)
--[This object's collider needs to be set as IsTrigger (Please read about OnTriggerStart for troubleshooting)]

thisGameObject = Space.Host.ExecutingObject

OnTriggerStart = function(TriggerStarter)
  if TriggerStarter.Root.Avatar ~= nil then
    if TriggerStarter.Root.Avatar.Username == Space.Scene.PlayerAvatar.Username then
      Space.Scene.PlayerAvatar.BlockFly = true
    end
  end
end


OnTriggerExit = function(TriggerExiter)
  if TriggerExiter.Root.Avatar ~= nil then
    if TriggerExiter.Root.Avatar.Username == Space.Scene.PlayerAvatar.Username then
      Space.Scene.PlayerAvatar.BlockFly = false
    end
  end
end

thisGameObject.OnTriggerStart(OnTriggerStart)
thisGameObject.OnTriggerExit(OnTriggerExit)

OnCollisionEnter

void OnCollisionEnter (Action< SPhysicsHit > e) void OnCollisionEnter (Closure e)

OnCollisionEnter is called when this collider/rigidbody has begun touching another rigidbody/collider.

In contrast to OnTriggerStart, OnCollisionEnter is passed the SPhysicsHit class and not a Collider (GameObject). The SPhysicsHit class contains information, for example, about contact points and impact velocity. Notes: Collision events are only sent if one of the colliders also has a non-kinematic rigidbody attached. Collision events will be sent to disabled MonoBehaviours, to allow enabling Behaviours in response to collisions.

Parameter
Type
Description

this = Space.Host.ExecutingObject

OnCollisionEnter = function(SPhysicsHit)
 Space.Log("Collision Enter")
end

this.OnCollisionEnter(OnCollisionEnter)
 --this script will make this object delete itself if it collides with something
--(Example: grenade)
--[Make sure you add a rigibody to this object (read above about "collisions")


thisGameObject = Space.Host.ExecutingObject


OnCollisionEnter = function(SPhysicsHit)
 thisGameObject.Destroy()
end

thisGameObject.OnCollisionEnter(OnCollisionEnter) 

OnCollisionStay

void OnCollisionStay (Action< SPhysicsHit > e) void OnCollisionStay (Closure e)

OnCollisionStay is called once per frame for every collider/rigidbody that is touching rigidbody/collider.

In contrast to OnTriggerStay, OnCollisionStay is passed the SPhysicsHit class and not a Collider (GameObject). The SPhysicsHit class contains information about contact points, impact velocity etc. If you don't use collisionInfo in the function, leave out the collisionInfo parameter as this avoids unneccessary calculations. Notes: Collision events are only sent if one of the colliders also has a non-kinematic rigidbody attached. Collision events will be sent to disabled MonoBehaviours, to allow enabling Behaviours in response to collisions. Collision stay events are not sent for sleeping Rigidbodies.

Parameter
Type
Description

this = Space.Host.ExecutingObject

OnCollisionStay = function(SPhysicsHit)
 Space.Log("Collision Stay")
end

this.OnCollisionStay(OnCollisionStay)
  --this script will make this object delete itself if
 --it is being touched for around 10 seconds
--(Example: a flag being captured)
--[Make sure this object has collider/rigidbody (read above about "collisions" for troubleshooting)]


thisGameObject = Space.Host.ExecutingObject
touchedTime = 0.0

OnCollisionStay = function(SPhysicsHit)
  touchedTime = touchedTime + Space.DeltaTime
    if touchedTime > 25 then
   thisGameObject.Destroy()
   end
end

thisGameObject.OnCollisionStay(OnCollisionStay)  

OnCollisionExit

void OnCollisionExit (Action< SPhysicsHit > e) void OnCollisionExit (Closure e)

OnCollisionExit is called when this collider/rigidbody has stopped touching another rigidbody/collider.

In contrast to OnTriggerExit, OnCollisionExit is passed the SPhysicsHit class and not a Collider. The SPhysicsHit class contains information about contact points, impact velocity etc. If you don't use collisionInfo in the function, leave out the collisionInfo parameter as this avoids unneccessary calculations. Notes: Collision events are only sent if one of the colliders also has a non-kinematic rigidbody attached. Collision events will be sent to disabled MonoBehaviours, to allow enabling Behaviours in response to collisions.

Parameter
Type
Description

this = Space.Host.ExecutingObject

OnCollisionExit = function(SPhysicsHit)
 Space.Log("Collision Exit")
end

this.OnCollisionExit(OnCollisionExit)
--this script will make this object destroy itself when an object 
--that collided with it exits the collission
--(Example: landmine)
--[Make sure you add a rigibody to this object (read above about "collisions")


thisGameObject = Space.Host.ExecutingObject


OnCollisionExit = function(SPhysicsHit)
 thisGameObject.Destroy()
end

thisGameObject.OnCollisionExit(OnCollisionExit)

OnParticleCollision

void OnParticleCollision (Action< SGameObject > e) void OnParticleCollision (Closure e)

OnParticleCollision is called when a particle hits a Collider.

This can be used to apply damage to a GameObject when hit by particles.

This message is sent to scripts attached to Particle Systems and to the Collider that was hit.

When OnParticleCollision is invoked from a script attached to a GameObject with a Collider, the GameObject parameter represents the ParticleSystem. The Collider receives at most one message per Particle System that collided with it in any given frame even when the Particle System struck the Collider with multiple particles in the current frame.

When OnParticleCollision is invoked from a script attached to a ParticleSystem, the GameObject parameter represents a GameObject with an attached Collider struck by the ParticleSystem. The ParticleSystem receives at most one message per Collider that is struck.

Messages are only sent if you enable Send Collision Messages in the Inspector of the Particle System Collision module.

The OnParticleCollision can be a co-routine. Simply use the yield statement in the function.

Parameter
Type
Description

this = Space.Host.ExecutingObject

OnParticleCollision = function(GameObject)
 Space.Log("Particle Collision")
end

this.OnParticleCollision(OnParticleCollision)

OnParticleTrigger

void OnParticleTrigger (Closure e)

Binds a new event handler for the OnParticleTrigger event.

OnParticleTrigger event is called when any particles in a Particle System meet the conditions in the trigger module.

This can be used to kill or modify particles that are inside or outside a collision volume.

Parameter
Type
Description

this = Space.Host.ExecutingObject

OnParticleTrigger = function(GameObject)
 Space.Log("Particle Trigger Event")
end

this.OnParticleTrigger(OnParticleTrigger)

OnUpdate

void OnUpdate (Closure e)

Binds a event to the OnUpdate() event.

Parameter
Type
Description

function F()
Space.Log("bound")
end
Space.Host.ExecutingObject.OnUpdate(F)
--this script will make this object move forward each frame
thisObject = Space.Host.ExecutingObject

OnUpdate = function()
  
  thisObject.WorldPosition = thisObject.WorldPosition + (thisObject.Forward * 0.01 * Space.DeltaTime)
--we multipy by Space.DeltaTime so that it behaves the same for all players
--even though they have different FPS (frames per second)
end


thisObject.OnUpdate(OnUpdate)

OnMouseDown

void OnMouseDown (Closure e)

Binds a event to the OnMouseDown() event.

Parameter
Type
Description

function F()
Space.Log("bound")
end
Space.Host.ExecutingObject.OnMouseDown(F)

OnApplicationQuit

void OnApplicationQuit (Closure e)

Binds a new event handler for the On Application Quit event

Parameter
Type
Description

this = Space.Host.ExecutingObject

OnApplicationQuit = function()
 Space.Log("Application Quit")
end

this.OnApplicationQuit(OnApplicationQuit)

CompareTag

bool CompareTag (string tag)

Function Description

Parameter
Type
Description

isSame = Space.Host.ExecutingObject.CompareTag('tagname')

SetParent

void SetParent (SGameObject other, bool worldPositionStays=true)

Make this GameObject the child of GameObject 'other'

Parameter
Type
Description

Space.Host.ExecutingObject.SetParent(otherObjectReference,true)
--this script will set your avatar's "right hand" as parent of this object
--this way this object will be a child of your right hand and therefore move with it
--(Example: clicking on a gun to equip it)


thisGameObject = Space.Host.ExecutingObject

OnClick = function()

RightHand = Space.Scene.PlayerAvatar.FindBone("RightHand")
thisGameObject.SetParent(RightHand)
thisGameObject.LocalPosition = Vector.New(0,0,0) -- resetting position to match hand

end

thisGameObject.AddClickable()
thisGameObject.Clickable.Tooltip="Click to Equip "
thisGameObject.Clickable.OnClick(OnClick)

Find

SGameObject Find (string name)

Find and return a reference to GameObject with name 'name'

Parameter
Type
Description

FoundObject = Space.Host.ExecutingObject.Find("GameObject Name")

FindInChildren

SGameObject FindInChildren (string name)

Find and return a reference to GameObject with name 'name' including children

Parameter
Type
Description

FoundObjectInChildren = Space.Host.ExecutingObject.FindInChildren("GameObject Name")

Destroy

void Destroy ()

Schedules this object for deletion at the end of the frame

Space.Host.ExecutingObject.Destroy()

GetComponent

SComponent GetComponent (string name)

Depreciated

Properties

Owner

long Owner get

Returns the GameObject's Owner

Owner = Space.Host.ExecutingObject.Owner

LocalID

int LocalID get

Returns the GameObject's Local ID

LocalID = Space.Host.ExecutingObject.LocalID

InventoryID

int InventoryID get

Return's the GameObject's InventoryID

InventoryID = Space.Host.ExecutingObject.InventoryID

HasStableID

bool HasStableID get

Returns true if GameObject has Stable ID

HasStableID = Space.Host.ExecutingObject.HasStableID

GlobalID

string? GlobalID get

Returns the global ID of the GameObject

GlobalID = Space.Host.ExecutingObject.GlobalID

Exists

bool Exists get

Does this object still exist in the scene (returns false if the object has been deleted via Destroy();)

doesExist = Space.Host.ExecutingObject.Exists

HingeJoint

SHingeJoint HingeJoint get

Returns a HingeJoint component attached to this object, or nil if none exist

HingeJoint = Space.Host.ExecutingObject.HingeJoint

Light

SLight Light get

Returns a reference to a Light component on the object. Will return null if it does not exist.

newLightComponent = Space.Host.ExecutingObject.Light

ReflectionProbe

SReflectionProbe ReflectionProbe get

Returns a ReflectionProbe component attached to this object, or nil if none exist

ReflectionProbe = Space.Host.ExecutingObject.ReflectionProbe

LightInChild

SLight LightInChildget

Returns a Light component attached to this object or its children, or nil if none exist

LightInChild = Space.Host.ExecutingObject.LightInChild

LightInParent

SLight LightInParent get

Returns a Light component attached to this object or it's parent, or nil if none exist

LightInParent = Space.Host.ExecutingObject.LightInParent

Animator

SAnimator Animator get

Returns a reference to a Animator component on the object. Will return null if it does not exist.

animatorComponent = Space.Host.ExecutingObject.Animator

Animation

SAnimation Animation get

Returns an Animation component attached to this object, or nil if none exist Animation is a legacy component and should not be confused with Animator

Animation = Space.Host.ExecutingObject.Animation

CanvasGroup

SCanvasGroup CanvasGroup get

Returns Canvas Group component attached to this object, or nil if none exist

CanvasGroup = Space.Host.ExecutingObject.CanvasGroup

Audio

SAudioSource Audio get

Returns a reference to a AudioSource component on the object. Will return null if it does not exist.

newAudioComponent = Space.Host.ExecutingObject.Audio

Floor

SRoomFloor Floor get

Returns a RoomFloor component attached to this object, or nil if none exist

Floor = Space.Host.ExecutingObject.Floor

VoiceZone

SVoiceZone VoiceZone get

Returns a VoiceZone component attached to this object, or nil if none exist

VoiceZone = Space.Host.ExecutingObject.VoiceZone

Browser

SBrowserSurface Browser get

Returns a reference to a BrowserSurface component on the object. Will return null if it does not exist.

newBrowserComponent = Space.Host.ExecutingObject.Browser

Director

SPlayableDirector Director get

Returns a PlayableDirector component attached to this object, or nil if none exist

Director = Space.Host.ExecutingObject.Director

Renderer

SRenderer Renderer get

Returns a reference to a Renderer component on the object. Will return null if it does not exist.

renderer = Space.Host.ExecutingObject.Renderer

Vehicle

SModularVehicle Vehicle get

Returns a Modular Vehicle component attached to this object, or nil if none exist

Vehicle = Space.Host.ExecutingObject.Vehicle

PostProcessVolume

SPostProcessVolume PostProcessVolume get

Returns a Post Process Volume component attached to this object, or nil if none exist

PostProcessVolume = Space.Host.ExecutingObject.PostProcessVolume

Archimatix

SAXModel Archimatix get

Returns a Archimatix Model ("AXModel" component) - or Nil if nothing exists

Archimatix = Space.Host.ExecutingObject.Archimatix

Clickable

SClickable Clickable get

Returns a reference to a Clickable component on the object. Will return null if it does not exist.

clickableComponent = Space.Host.ExecutingObject.Clickable

EmbeddedVideo

SEmbeddedVideo EmbeddedVideo get

Returns an Embedded Video component attached to this object, or nil if none exist (may not work within editor)

EmbeddedVideo = Space.Host.ExecutingObject.EmbeddedVideo

Avatar

SAvatar Avatar get

A reference to an Avatar component on the GameObject.

Avatar = Space.Host.ExecutingObject.Avatar

AvatarAppearance

SAvatarAppearance AvatarAppearance get

Returns a AvatarAppearance component attached to this object, or nil if none exist

AvatarAppearance = Space.Host.ExecutingObject.AvatarAppearance

Script

SScriptingRuntime Script get

Returns a Scripting Runtime component attached to this object, or nil if none exist

Script = Space.Host.ExecutingObject.Script

StateMachine

SStateMachine StateMachine get

Returns a State Machine component attached to this object, or nil if none exist

StateMachine = Space.Host.ExecutingObject.StateMachine

Networking

SNetworking Networking get

Returns a Simple Networking component attached to this object, or nil if none exists

SimpleNetworking = Space.Host.ExecutingObject.Networking

Events

SScriptingEvents Events get

Property Description

eventsComponent = Space.Host.ExecutingObject.Events

Resources

SScriptingResources Resources get

Property Description

resourcesComponent = Space.Host.ExecutingObject.Resources

Data

SScriptingData Data get

Returns a Scripting Data component attached to this object, or nil if none exist

Data = Space.Host.ExecutingObject.Data

Rigidbody

SRigidbody Rigidbody get

Returns a reference to a Rigidbody component on the object. Will return null if it does not exist.

rigidbodyComponent = Space.Host.ExecutingObject.Rigidbody

Collider

SCollider Collider get

Returns a reference to a Collider component on the object. Will return null if it does not exist.

colliderComponent =  Space.Host.ExecutingObject.Collider

BoxCollider

SBoxCollider BoxCollider get

Returns a Box Collider component attached to this object, or nil if none exist

BoxCollider = Space.Host.ExecutingObject.BoxCollider

SphereCollider

SSphereCollider SphereCollider get

Returns a Sphere Collider component attached to this object, or nil if none exist

SphereCollider = Space.Host.ExecutingObject.SphereCollider

CapsuleCollider

SCapsuleCollider CapsuleCollider get

Returns a Capsule Collider component attached to this object, or nil if none exist

CapsuleCollider = Space.Host.ExecutingObject.CapsuleCollider

CharacterController

SCharacterController CharacterController get

Returns a Character Controller component attached to this object, or nil if none exist

CharacterController = Space.Host.ExecutingObject.CharacterController

AudioReactive

SAudioReactiveBase AudioReactive get

Returns the first Audio Reactive component attached to this object, or nil if none exist

AudioReactive = Space.Host.ExecutingObject.AudioReactive

AttachmentHelper

SAttachmentHelper AttachmentHelper get