انتقل إلى المحتوى الرئيسي

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

WheelCollider​

SWheelCollider WheelCollider get

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

WheelCollider = Space.Host.ExecutingObject.WheelCollider

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