SGameObject
Functions
SubscribeToEvents
void SubscribeToEvents ()
Causes this script to start listening to events on the object.
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.
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
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
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
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
scriptingRuntimeInParent = Space.Host.ExecutingObject.GetScript("scriptingruntimecomponentname")
GetEvents
SScriptingEvents GetEvents (string name)
Function Description
name
string
scriptingEvent = Space.Host.ExecutingObject.GetEvents('ScriptingEventsComponentName')
GetAllEventsInChildren
List< SScriptingEvents > GetAllEventsInChildren (string name, bool includeInactive=false)
Function Description
tableScriptingEvent = Space.Host.ExecutingObject.GetAllEventsInChildren
GetEventsInChildren
SScriptingEvents GetEventsInChildren (string name, bool includeInactive=false)
Function Description
scriptingEvent = Space.Host.ExecutingObject.GetEventsInChildren('ScriptingEventsComponentName')
--or
scriptingEvent = Space.Host.ExecutingObject.GetEventsInChildren('ScriptingEventsComponentName', true)
GetEventsInParent
SScriptingEvents GetEventsInParent (string name)
Function Description
scriptingEvent = Space.Host.ExecutingObject.GetEventsInParent('ScriptingEventsComponentName')
GetResources
SScriptingResources GetResources (string name)
Function Description
Space.Host.ExecutingObject.GetResources('ResourcesComponentName')
GetAllResourcesInChildren
List< SScriptingResources > GetAllResourcesInChildren (string name, bool includeInactive=false)
Function 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
tableScriptingResources = Space.Host.ExecutingObject.GetResourcesInChildren('ScriptingResourcesComponentName')
--or
tableScriptingResources = Space.Host.ExecutingObject.GetResourcesInChildren('ScriptingResourcesComponentName', true)
GetResourcesInParent
SScriptingResources GetResourcesInParent (string name)
Function 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
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
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
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
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.
function F()
Space.Log("bound")
end
Space.Host.ExecutingObject.OnAwake(F)
OnStart
void OnStart (Closure e)
Binds a event to the Start() event.
function F()
Space.Log("bound")
end
Space.Host.ExecutingObject.OnStart(F)
OnEnable
void OnEnable (Closure e)
Binds a event to the OnEnable() event.
function F()
Space.Log("bound")
end
Space.Host.ExecutingObject.OnEnable(F)
OnDisable
void OnDisable (Closure e)
Binds a event to the OnDisable() event.
function F()
Space.Log("bound")
end
Space.Host.ExecutingObject.OnDisable(F)
OnFixedUpdate
void OnFixedUpdate (Closure e)
Binds a event to the OnFixedUpdate() event.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
this = Space.Host.ExecutingObject
OnApplicationQuit = function()
Space.Log("Application Quit")
end
this.OnApplicationQuit(OnApplicationQuit)
CompareTag
bool CompareTag (string tag)
Function Description
isSame = Space.Host.ExecutingObject.CompareTag('tagname')
SetParent
void SetParent (SGameObject other, bool worldPositionStays=true)
Make this GameObject the child of GameObject 'other'
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'
FoundObject = Space.Host.ExecutingObject.Find("GameObject Name")
FindInChildren
SGameObject FindInChildren (string name)
Find and return a reference to GameObject with name 'name' including children
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
NavMeshAgent
SNavMeshAgent NavMeshAgent get
Adds a NavMeshAgent component to the object.
navMeshAgent = Space.Host.ExecutingObject.AddNavMeshAgent()
NavMeshObstacle
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
Right
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