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.

ParameterTypeDescription

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

ParameterTypeDescription

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

ParameterTypeDescription

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

ParameterTypeDescription

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

ParameterTypeDescription

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

GetEvents

SScriptingEvents GetEvents (string name)

Function Description

ParameterTypeDescription

name

string

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

GetAllEventsInChildren

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

Function Description

ParameterTypeDescription

tableScriptingEvent = Space.Host.ExecutingObject.GetAllEventsInChildren

GetEventsInChildren

SScriptingEvents GetEventsInChildren (string name, bool includeInactive=false)

Function Description

ParameterTypeDescription

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

GetEventsInParent

SScriptingEvents GetEventsInParent (string name)

Function Description

ParameterTypeDescription

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

GetResources

SScriptingResources GetResources (string name)

Function Description

ParameterTypeDescription

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

GetAllResourcesInChildren

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

Function Description

ParameterTypeDescription

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

GetResourcesInChildren

SScriptingResources GetResourcesInChildren (string name, bool includeInactive=false)

Function Description

ParameterTypeDescription

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

GetResourcesInParent

SScriptingResources GetResourcesInParent (string name)

Function Description

ParameterTypeDescription

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

ParameterTypeDescription

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

ParameterTypeDescription

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

ParameterTypeDescription

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

ParameterTypeDescription

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.

ParameterTypeDescription

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

OnStart

void OnStart (Closure e)

Binds a event to the Start() event.

ParameterTypeDescription

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

OnEnable

void OnEnable (Closure e)

Binds a event to the OnEnable() event.

ParameterTypeDescription

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

OnDisable

void OnDisable (Closure e)

Binds a event to the OnDisable() event.

ParameterTypeDescription

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

OnFixedUpdate

void OnFixedUpdate (Closure e)

Binds a event to the OnFixedUpdate() event.

ParameterTypeDescription

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.

ParameterTypeDescription

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.

ParameterTypeDescription

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.

ParameterTypeDescription

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.

ParameterTypeDescription

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.

ParameterTypeDescription

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.

ParameterTypeDescription

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.

ParameterTypeDescription

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.

ParameterTypeDescription

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.

ParameterTypeDescription

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.

ParameterTypeDescription

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.

ParameterTypeDescription

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

ParameterTypeDescription

this = Space.Host.ExecutingObject

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

this.OnApplicationQuit(OnApplicationQuit)

CompareTag

bool CompareTag (string tag)

Function Description

ParameterTypeDescription

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

SetParent

void SetParent (SGameObject other, bool worldPositionStays=true)

Make this GameObject the child of GameObject 'other'

ParameterTypeDescription

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'

ParameterTypeDescription

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

FindInChildren

SGameObject FindInChildren (string name)

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

ParameterTypeDescription

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

Returns the first Attachment Helper component attached to this object, or nil if none exist

AttachmentHelper = Space.Host.ExecutingObject.AttachmentHelper

AudioReactiveAnimation

SAudioReactiveAnimation AudioReactiveAnimation get

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

AudioReactiveAnimation = Space.Host.ExecutingObject.AudioReactiveAnimation

AudioReactiveLight

SAudioReactiveLight AudioReactiveLight get

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

AudioReactiveLight = Space.Host.ExecutingObject.AudioReactiveLight

AudioReactiveParticleSystem

SAudioReactiveParticleSystem AudioReactiveParticleSystem get

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

AudioReactiveParticleSystem = Space.Host.ExecutingObject.AudioReactiveParticleSystem

AudioReactiveMaterial

SAudioReactiveMaterial AudioReactiveMaterial get

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

AudioReactiveMaterial = Space.Host.ExecutingObject.AudioReactiveMaterial

AudioReactiveTransform

SAudioReactiveTransform AudioReactiveTransform get

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

AudioReactiveTransform = Space.Host.ExecutingObject.AudioReactiveTransform

TrailRenderer

STrailRenderer TrailRenderer get

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

TrailRenderer = Space.Host.ExecutingObject.TrailRenderer

LineRenderer

SLineRenderer LineRenderer get

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

LineRenderer = Space.Host.ExecutingObject.LineRenderer

UILayout

SUILayout UILayout get

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

UILayout = Space.Host.ExecutingObject.UILayout

UIToggle

SUIToggle UIToggle get

Returns a Unity uGUI Toggle component attached to this object, or nil if none exist

UIToggle = Space.Host.ExecutingObject.UIToggle

UIDropdown

SUIDropdown UIDropdown get

Returns a Unity uGUI Dropdown component attached to this object, or nil if none exist

UIDropdown = Space.Host.ExecutingObject.UIDropdown

UIButton

SUIButton UIButton get

Returns a Unity uGUI Dropdown component attached to this object, or nil if none exist

UIButton = Space.Host.ExecutingObject.UIButton

UIText

SUIText UIText get

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

uitext = Space.Host.ExecutingObject.UIText 

UISlider

SUISlider UISlider get

Returns a Unity uGUI Slider component attached to this object, or nil if none exist

UISlider = Space.Host.ExecutingObject.UISlider

UIScrollbar

SUIScrollbar UIScrollbar get

Returns a Unity uGUI Scrollbar component attached to this object, or nil if none exist

UIScrollbar = Space.Host.ExecutingObject.UIScrollbar

UICanvas

SUICanvas UICanvas get

Returns a Unity uGUI Canvas component attached to this object, or nil if none exist

UICanvas = Space.Host.ExecutingObject.UICanvas

UIImage

SUIImage UIImage get

Returns a Unity uGUI Image component attached to this object, or nil if none exist

UIImage = Space.Host.ExecutingObject.UIImage

UIRawImage

SUIRawImage UIRawImage get

Returns a Unity uGUI Text component attached to this object, or nil if none exist

UIRawImage = Space.Host.ExecutingObject.UIRawImage

UIInputField

SUIInputField UIInputField get

Returns a Unity uGUI Text component attached to this object, or nil if none exist

UIInputField = Space.Host.ExecutingObject.UIInputField

UIToolTipHint

SUIToolTipHint UIToolTipHint get

Property Description

tooltipHint = Space.Host.ExecutingObject.UIToolTipHint

Camera

SCamera Camera get

Property Description

camera = Space.Host.ExecutingObject.Camera

VirtualCamera

SVirtualCamera VirtualCamera get

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

VirtualCamera = Space.Host.ExecutingObject.VirtualCamera

Cloth

SCloth Cloth get

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

Cloth = Space.Host.ExecutingObject.Cloth

MeshRenderer

SMeshRenderer MeshRenderer get

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

MeshRenderer = Space.Host.ExecutingObject.MeshRenderer

Furniture

SFurniture Furniture get

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

Furniture = Space.Host.ExecutingObject.Furniture

SNavMeshAgent NavMeshAgent get

Adds a NavMeshAgent component to the object.

navMeshAgent = Space.Host.ExecutingObject.AddNavMeshAgent()

SNavMeshObstacle NavMeshObstacle get

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

NavMeshObstacle = Space.Host.ExecutingObject.NavMeshObstacle

ParticleSystem

SParticleSystem ParticleSystem get

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

ParticleSystem = Space.Host.ExecutingObject.ParticleSystem

RectTransform

SRectTransform RectTransform get

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

RectTransform = Space.Host.ExecutingObject.RectTransform

Seat

SSeat Seat get

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

seatComponent = Space.Host.ExecutingObject.AddSeat()

SkinnedMeshRenderer

SSkinnedMeshRenderer SkinnedMeshRenderer get

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

SkinnedMeshRenderer = Space.Host.ExecutingObject.SkinnedMeshRenderer

Radio

SSceneBackgroundMusic Radio get

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

Radio = Space.Host.ExecutingObject.Radio

Terrain

STerrain Terrain get

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

Terrain = Space.Host.ExecutingObject.Terrain

AnalyticsEvent

SAnalyticsEvent AnalyticsEvent get

Property Description

analyticsEvent = Space.Host.ExecutingObject.AnalyticsEvent

GraphicRaycaster

SGraphicRaycaster GraphicRaycaster get

Property Description

graphicRaycaster = Space.Host.ExecutingObject.GraphicRaycaster

ContentSizeFitter

SContentSizeFitter ContentSizeFitter get

Property Description

contentSzeFitter = Space.Host.ExecutingObject.ContentSizeFitter

Active

bool Active get set

Is this object Active in the scene

Space.Host.ExecutingObject.Active = false
--the below script will make this object become inactive
--after being being clicked
--(Example: picking up fruits)

thisGameObject = Space.Host.ExecutingObject


OnClick = function()
thisGameObject.Active = false
end

thisGameObject.AddClickable()
thisGameObject.Clickable.Tooltip="Pick me!"
thisGameObject.Clickable.OnClick(OnClick)

ActiveSelf

bool ActiveSelf get set

Returns true if GameObject is Active (even if it's parent is not active)

 Space.Host.ExecutingObject.ActiveSelf = false

Layer

int Layer get set

Gets/Sets the object onto a particular layer (0-31)

Space.Host.ExecutingObject.Layer = 21

Tag

string Tag get

Gets this objects Tag

objectTag = Space.Host.ExecutingObject.Tag

Name

string Name get set

Gets/sets the name of this object

Space.Host.ExecutingObject.Name = 'Hello World!'

Moniker

string? Moniker get set

Property Description

Space.Host.ExecutingObject.Moniker = 'New  Moniker'

Parent

SGameObject Parent get set

Gets/sets the parent GameObject of this object. Assign nil/null to set this as the root.

Space.Host.ExecutingObject.Parent = Space.Host.GetReference("TheOtherObject")

Root

SGameObject Root get

Gets the root of this object group - may be this object.

objectRoot = Space.Host.ExecutingObject.Root

Children

SGameObject[] Children get

Returns the list of direct children of this object.

tableChildren = Space.Host.ExecutingObject.Children

WorldPosition

SVector WorldPosition get set

Gets or sets the current position of this object relative to the scene

Space.Host.ExecutingObject.WorldPosition = Vector.New(1,1,1)

LocalPosition

SVector LocalPosition get set

Gets or sets the current position of this object relative to the objects parent, taking into account local position/scale/rotation

Space.Host.ExecutingObject.LocalPosition = Vector.New(1,1,1)

WorldRotation

SQuaternion WorldRotation get set

Gets or sets the current rotation of this object relative to the scene

Space.Host.ExecutingObject.WorldRotation = Quaternion.Euler(0,180,0)

LocalRotation

SQuaternion LocalRotation get set

Gets or sets the current rotation of this object relative to the parent object

Space.Host.ExecutingObject.LocalRotation = Quaternion.Euler(0,180,0)

LocalScale

SVector LocalScale get set

Gets or sets the current scale of this object relative to the parent

Space.Host.ExecutingObject.LocalScale = Vector.New(2,2,2)

WorldScale

SVector WorldScale get

Gets the current scale of this object relative to the scene

worldScale = Space.Host.ExecutingObject.WorldScale 

Forward

SVector Forward get

Returns the forward direction vector of this game object (blue arrow)

vectorForward = Space.Host.ExecutingObject.Forward

Up

SVector Up get

Returns the up direction vector of this game object (green arrow)

vectorUp = Space.Host.ExecutingObject.Up

SVector Right get

Returns the right direction vector of this game object (red arrow)

vectorRight = Space.Host.ExecutingObject.Right

EventCalendar

SEventCalendar EventCalendar get

Returns an EventCalendar component attached to this object, or nil if none exists

EventCalendar = Space.Host.ExecutingObject.EventCalendar

Last updated

Sinespace® is a registered trademark of Sine Wave Entertainment Ltd, All Rights Reserved.