🧭 Gizmo
A tool to transform objects at runtime.

💂Authority
This class can only be spawned on 🟧 Client side.
👪Inheritance
This class shares methods and events from Base Entity, Base Actor.
🧑💻API Source
This page is auto-generated! The Functions, Properties and Events described here are defined in our GitHub's API Repository! Feel free to commit suggestions and changes to the source .json API files!
🎒 Examples
-- Disable input and enable mouse cursor
Input.SetInputEnabled(false)
Input.SetMouseEnabled(true)
-- Spawn a mesh to interact with
local my_entity = StaticMesh(Vector(0, 0, 100), Rotator(), "nanos-world::SM_Cube")
-- Spawn the gizmo
local my_gizmo = Gizmo()
-- Activate the gizmo, at the location of the mesh
my_gizmo:Activate(my_entity:GetLocation(), my_entity:GetRotation(), my_entity:GetScale())
-- Subscribes on Gizmo updates
my_gizmo:Subscribe("Transform", function(self, location, rotation, scale)
	my_entity:TranslateTo(location, 0.02)
	my_entity:RotateTo(rotation, 0.02)
	my_entity:SetScale(scale)
end)
-- When Mouse click, trigger Gizmo inputs
Input.Subscribe("MouseDown", function(key)
	if (key == "LeftMouseButton") then
		my_gizmo:PressPointer()
	end
end)
-- When Mouse release, trigger Gizmo inputs
Input.Subscribe("MouseUp", function (key, b, c)
	if (key == "LeftMouseButton") then
		my_gizmo:ReleasePointer()
	end
end)
🛠 Constructors
Default Constructor
No description provided
local my_gizmo = Gizmo()
This constructor doesn't have parameters.
🗿 Static Functions
Inherited Entity Static Functions
Gizmo inherits from Base Entity Class, sharing it's methods and functions:
Base Entityscripting-reference/classes/base-classes/entity
Base Entityscripting-reference/classes/base-classes/entity
| Returns | Name | Description | |
|---|---|---|---|
| table of Base Entity | GetAll | Returns a table containing all Entities of the class this is called on | |
| Base Entity | GetByIndex | Returns a specific Entity of this class at an index | |
| integer | GetCount | Returns how many Entities of this class exist | |
| table of table | GetInheritedClasses | Gets a list of all directly inherited classes from this Class created with the Inheriting System | |
| iterator | GetPairs | Returns an iterator with all Entities of this class to be used with pairs() | |
| table or nil | GetParentClass | Gets the parent class if this Class was created with the Inheriting System | |
| table | Inherit | Inherits this class with the Inheriting System | |
| boolean | IsChildOf | Gets if this Class is child of another class if this Class was created with the Inheriting System | |
| function | Subscribe | Subscribes to an Event for all entities of this Class | |
| function | SubscribeRemote | Subscribes to a custom event called from server | |
| Unsubscribe | Unsubscribes all callbacks from this Event in this Class within this Package, or only the callback passed | 
This class doesn't have own static functions.
🦠 Functions
Inherited Entity Functions
Gizmo inherits from Base Entity Class, sharing it's methods and functions:
Base Entityscripting-reference/classes/base-classes/entity
Base Entityscripting-reference/classes/base-classes/entity
| Returns | Name | Description | |
|---|---|---|---|
| BroadcastRemoteEvent | Calls a custom remote event directly on this entity to all Players | ||
| CallRemoteEvent | Calls a custom remote event directly on this entity to a specific Player | ||
| CallRemoteEvent | Calls a custom remote event directly on this entity | ||
| Destroy | Destroys this Entity | ||
| table of string | GetAllValuesKeys | Gets a list of all values keys | |
| table | GetClass | Gets the class of this entity | |
| integer | GetID | Gets the universal network ID of this Entity (same on both client and server) | |
| any | GetValue | Gets a Value stored on this Entity at the given key | |
| boolean | IsA | Recursively checks if this entity is inherited from a Class | |
| boolean | IsValid | Returns true if this Entity is valid (i.e. wasn't destroyed and points to a valid Entity) | |
| SetValue | Sets a Value in this Entity | ||
| function | Subscribe | Subscribes to an Event on this specific entity | |
| function | SubscribeRemote | Subscribes to a custom event called from server on this specific entity | |
| Unsubscribe | Unsubscribes all callbacks from this Event in this Entity within this Package, or only the callback passed | 
Inherited Actor Functions
Gizmo inherits from Base Actor Class, sharing it's methods and functions:
Base Actorscripting-reference/classes/base-classes/actor
Base Actorscripting-reference/classes/base-classes/actor
| Returns | Name | Description | |
|---|---|---|---|
| AddActorTag | Adds an Unreal Actor Tag to this Actor | ||
| AddImpulse | Applies a force in world world to this Actor | ||
| AttachTo | Attaches this Actor to any other Actor, optionally at a specific bone | ||
| Detach | Detaches this Actor from AttachedTo Actor | ||
| table of string | GetActorTags | Gets all Unreal Actor Tags on this Actor | |
| table of Base Actor | GetAttachedEntities | Gets all Actors attached to this Actor | |
| Base Actor or nil | GetAttachedTo | Gets the Actor this Actor is attached to | |
| table | GetBounds | Gets this Actor's bounds | |
| CollisionType | GetCollision | Gets this Actor's collision type | |
| integer | GetDimension | Gets this Actor's dimension | |
| float | GetDistanceFromCamera | Gets the distance of this Actor from the Camera | |
| Vector | GetForce | Gets this Actor's force (set by SetForce()) | |
| Vector | GetLocation | Gets this Actor's location in the game world | |
| Player or nil | GetNetworkAuthority | Gets this Actor's Network Authority Player | |
| Vector | GetRelativeLocation | Gets this Actor's Relative Location if it's attached | |
| Rotator | GetRelativeRotation | Gets this Actor's Relative Rotation if it's attached | |
| Rotator | GetRotation | Gets this Actor's angle in the game world | |
| Vector | GetScale | Gets this Actor's scale | |
| float | GetScreenPercentage | Gets the percentage of this Actor size in the screen | |
| table | GetSocketTransform | Gets a Socket Transform in world space given a bone or socket name | |
| Vector | GetVelocity | Gets this Actor's current velocity | |
| boolean | HasAuthority | Gets if this Actor was spawned by the client side | |
| boolean | HasNetworkAuthority | Returns true if the local Player is currently the Network Authority of this Actor | |
| boolean | IsBeingDestroyed | Returns true if this Actor is being destroyed | |
| boolean | IsGravityEnabled | Returns true if gravity is enabled on this Actor | |
| boolean | IsInWater | Returns true if this Actor is in water | |
| boolean | IsNetworkDistributed | Returns true if this Actor is currently network distributed | |
| boolean | IsVisible | Returns true if this Actor is visible | |
| RemoveActorTag | Removes an Unreal Actor Tag from this Actor | ||
| RotateTo | Smoothly rotates this actor to an angle over a certain time | ||
| SetCollision | Sets this Actor's collision type | ||
| SetDimension | Sets this Actor's Dimension | ||
| SetForce | Adds a permanent force to this Actor, set to Vector(0, 0, 0) to cancel | ||
| SetGravityEnabled | Sets whether gravity is enabled on this Actor | ||
| SetHighlightEnabled | Sets whether the highlight is enabled on this Actor, and which highlight index to use | ||
| SetLifeSpan | Sets the time (in seconds) before this Actor is destroyed. After this time has passed, the actor will be automatically destroyed. | ||
| SetLocation | Sets this Actor's location in the game world | ||
| SetNetworkAuthority | Sets the Player to have network authority over this Actor | ||
| SetNetworkAuthorityAutoDistributed | Sets if this Actor will auto distribute the network authority between players | ||
| SetOutlineEnabled | Sets whether the outline is enabled on this Actor, and which outline index to use | ||
| SetRelativeLocation | Sets this Actor's relative location in local space (only if this actor is attached) | ||
| SetRelativeRotation | Sets this Actor's relative rotation in local space (only if this actor is attached) | ||
| SetRotation | Sets this Actor's rotation in the game world | ||
| SetScale | Sets this Actor's scale | ||
| SetVisibility | Sets whether the actor is visible or not | ||
| TranslateTo | Smoothly moves this actor to a location over a certain time | ||
| boolean | WasRecentlyRendered | Gets if this Actor was recently rendered on screen | 
| Returns | Name | Description | |
|---|---|---|---|
| Activate | Enable the interaction | ||
| Deactivate | Disable the interaction | ||
| boolean | IsInteracting | Returns if it's currently interacting | |
| PressPointer | Triggers the press pointer event on it | ||
| ReleasePointer | Triggers the release pointer event on it | ||
| SetAlignSpace | No description provided | ||
| SetSnapSettings | No description provided | ||
| SetTransformMode | No description provided | 

Activate
Enable the interaction
my_gizmo:Activate(location, rotation, scale)
| Type | Parameter | Default | Description | 
|---|---|---|---|
| Vector | location | Required parameter | No description provided | 
| Rotator | rotation | Required parameter | No description provided | 
| Vector | scale | Required parameter | No description provided | 

Deactivate
Disable the interaction
my_gizmo:Deactivate()

IsInteracting
Returns if it's currently interacting
— Returns boolean.
local ret = my_gizmo:IsInteracting()

PressPointer
Triggers the press pointer event on it
my_gizmo:PressPointer()

ReleasePointer
Triggers the release pointer event on it
my_gizmo:ReleasePointer()

SetAlignSpace
my_gizmo:SetAlignSpace(align_space)
| Type | Parameter | Default | Description | 
|---|---|---|---|
| GizmoAlignSpace | align_space | Required parameter | No description provided | 

SetSnapSettings
my_gizmo:SetSnapSettings(location_grid_size, rotation_grid_size, scale_grid_size)
| Type | Parameter | Default | Description | 
|---|---|---|---|
| float | location_grid_size | Required parameter | No description provided | 
| float | rotation_grid_size | Required parameter | No description provided | 
| float | scale_grid_size | Required parameter | No description provided | 

SetTransformMode
my_gizmo:SetTransformMode(transform_mode, combine_translate_rotate)
| Type | Parameter | Default | Description | 
|---|---|---|---|
| GizmoTransformMode | transform_mode | Required parameter | No description provided | 
| boolean | combine_translate_rotate | Required parameter | No description provided | 
🚀 Events
Inherited Entity Events
Gizmo inherits from Base Entity Class, sharing it's events:
Base Entityscripting-reference/classes/base-classes/entity
Base Entityscripting-reference/classes/base-classes/entity
| Name | Description | |
|---|---|---|
| ClassRegister | Triggered when a new Class is registered with the Inheriting System | |
| Destroy | Triggered when an Entity is destroyed | |
| Spawn | Triggered when an Entity is spawned/created | |
| ValueChange | Triggered when an Entity has a value changed with :SetValue() | 
Inherited Actor Events
Gizmo inherits from Base Actor Class, sharing it's events:
Base Actorscripting-reference/classes/base-classes/actor
Base Actorscripting-reference/classes/base-classes/actor
| Name | Description | |
|---|---|---|
| DimensionChange | Triggered when an Actor changes it's dimension | 
| Name | Description | |
|---|---|---|
| Transform | Triggered when the Gizmo has it's transform updated | 

Transform
Triggered when the Gizmo has it's transform updated
Gizmo.Subscribe("Transform", function(self, location, rotation, scale)
	-- Transform was called
end)