Base Actor
An Actor is an object which can be spawned and destroyed through Lua.
Actors support 3D transformations such as translation (location), rotation, and scale.
An Actor is the base for several entities, and all those entities share the same Methods and Events described in this page.
Classes that share methods and events from this Base Class: Billboard, Blueprint, Cable, Character, CharacterSimple, Decal, Gizmo, Grenade, InstancedStaticMesh, Light, Melee, Particle, Prop, SceneCapture, StaticMesh, Sound, TextRender, Text3D, Trigger, VehicleWheeled, VehicleWater, Weapon, Widget3D.
๐ฆ ย Functionsโ
Some of the following methods may not work on certain Actor classes.
| Returns | Name | Description | |
|---|---|---|---|
AddActorTag | Adds an Unreal Actor Tag to this Actor | ||
AddAngularImpulse | Add an angular impulse to this Actor. Good for one time instant burst | ||
AddImpulse | Add an impulse to this Actor. Good for one time instant burst | ||
| boolean | 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 | |
| Vector | GetAngularForce | Gets this Actor's angular force (set by SetAngularForce()) | |
| float | GetAngularVelocity | Returns the angular velocity of 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 | |
| string | GetAttachedToSocket | Gets the bone or socket name this Actor is attached to | |
| table | GetBounds | Gets this Actor's bounds, useful to know its size in the world | |
| 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()) | |
| float | GetLifeSpan | Gets the time (in seconds) left before this Actor is destroyed | |
| Vector | GetLocation | Gets this Actor's location in the game world | |
| float | GetMass | Returns the mass of this Actor | |
| 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 | HasNetworkAuthority | Returns true if the local Player is currently the Network Authority of this Actor | |
| 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 | ||
SetAngularForce | Adds a permanent angular force to this Actor, set to Vector(0, 0, 0) to cancel | ||
SetCastShadow | Sets this Actor's to cast shadows or not | ||
SetCollision | Sets this Actor's collision type | ||
SetDimension | Sets this Actor's Dimension. Actors only see and interact with entities in the same Dimension | ||
SetDistanceOptimizationMultiplier | Sets this Actor's distance optimization multiplier | ||
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) | ||
SetRenderCullDistance | Sets this Actor's render cull distance | ||
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 |
Optimal

AddActorTagโ
Adds an Unreal Actor Tag to this Actor
my_actor:AddActorTag(tag)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | tag | Required parameter | The tag to add |
See also RemoveActorTag, GetActorTags.
Optimal

AddAngularImpulseโ
Add an angular impulse to this Actor. Good for one time instant burst
my_actor:AddAngularImpulse(angular_impulse, velocity_change?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | angular_impulse | Required parameter | Magnitude and direction of impulse to apply. Direction is axis of rotation. In Radians |
| boolean | velocity_change? | false | Whether to ignore mass |
Optimal

AddImpulseโ
Add an impulse to this Actor. Good for one time instant burst
my_actor:AddImpulse(impulse, velocity_change?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | impulse | Required parameter | Magnitude and direction of impulse to apply |
| boolean | velocity_change? | false | Whether to ignore mass |
Moderate

AttachToโ
Attaches this Actor to any other Actor, optionally at a specific bone
local attached_successfully = my_actor:AttachTo(other, attachment_rule?, bone_name?, lifespan_when_detached?, use_absolute_rotation?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Base Actor | other | Required parameter | Other actor to attach |
| AttachmentRule | attachment_rule? | AttachmentRule.SnapToTarget | How to attach |
| string | bone_name? | | Which bone to attach to. If empty it will be attached to the Actor, otherwise to the Mesh at the bone/socket |
| float | lifespan_when_detached? | -1 | Seconds before destroying this Actor when detached, setting it to 0 will automatically destroy this actor when detached, setting it to 10 will destroy this after 10 seconds when detached |
| boolean | use_absolute_rotation? | false | Whether to force attached object to use absolute rotation (will not follow parent) |
Returns
| Type | Description |
|---|---|
| boolean | if it was attached successfully |
Optimal

Detachโ
Detaches this Actor from AttachedTo Actor
my_actor:Detach()
Moderate

GetActorTagsโ
Gets all Unreal Actor Tags on this Actor
local ret = my_actor:GetActorTags()
See also AddActorTag, RemoveActorTag.
Optimal

GetAngularForceโ
Gets this Actor's angular force (set by SetAngularForce())local angular_force = my_actor:GetAngularForce()
Returns
| Type | Description |
|---|---|
| Vector | This Actor's angular force |
See also SetAngularForce.
Optimal

GetAngularVelocityโ
Returns the angular velocity of this Actor
local angular_velocity = my_actor:GetAngularVelocity()
Returns
| Type | Description |
|---|---|
| float | Angular velocity of this Actor |
Moderate

GetAttachedEntitiesโ
Gets all Actors attached to this Actor
local ret = my_actor:GetAttachedEntities(recursively?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| boolean | recursively? | false | Also returns the Actors attached to the attached Actors |
Returns
| Type | Description |
|---|---|
| table of Base Actor | All Actors attached to this Actor |
Optimal

GetAttachedToโ
Gets the Actor this Actor is attached to
local ret = my_actor:GetAttachedTo()
Returns
| Type | Description |
|---|---|
| Base Actor or nil | Actor this Actor is attached to |
Optimal

GetAttachedToSocketโ
Gets the bone or socket name this Actor is attached to
local ret = my_actor:GetAttachedToSocket()
Returns
| Type | Description |
|---|---|
| string | The bone or socket name, or an empty string if not attached to a bone |
Moderate

GetBoundsโ
Gets this Actor's bounds, useful to know its size in the world
local ret = my_actor:GetBounds()
Returns
| Type | Description |
|---|---|
| table | This Actor's bounds with this format |
Optimal

GetCollisionโ
Gets this Actor's collision type
local collision_type = my_actor:GetCollision()
Returns
| Type | Description |
|---|---|
| CollisionType | This Actor's collision type |
See also SetCollision.
Optimal

GetDimensionโ
Gets this Actor's dimension
local dimension = my_actor:GetDimension()
Returns
| Type | Description |
|---|---|
| integer | This Actor's dimension |
See also SetDimension, DimensionChange.
Optimal

GetDistanceFromCameraโ
Gets the distance of this Actor from the Camera
local ret = my_actor:GetDistanceFromCamera()
Returns
| Type | Description |
|---|---|
| float | Distance of this Actor from the Camera |
Optimal

GetForceโ
Gets this Actor's force (set by SetForce())local force = my_actor:GetForce()
Returns
| Type | Description |
|---|---|
| Vector | This Actor's force |
See also SetForce.
Optimal

GetLifeSpanโ
Gets the time (in seconds) left before this Actor is destroyed
local ret = my_actor:GetLifeSpan()
Returns
| Type | Description |
|---|---|
| float | Seconds before being destroyed |
See also SetLifeSpan.
Optimal

GetLocationโ
Gets this Actor's location in the game world
local location = my_actor:GetLocation()
Returns
| Type | Description |
|---|---|
| Vector | This Actor's location in the game world |
See also SetLocation.
Optimal

GetMassโ
Returns the mass of this Actor
local mass = my_actor:GetMass()
Returns
| Type | Description |
|---|---|
| float | Mass of this Actor |
Optimal

GetNetworkAuthorityโ
Gets this Actor's Network Authority Player
local ret = my_actor:GetNetworkAuthority()
See also SetNetworkAuthority.
Optimal

GetRelativeLocationโ
Gets this Actor's Relative Location if it's attached
local relative_location = my_actor:GetRelativeLocation()
Returns
| Type | Description |
|---|---|
| Vector | This Actor's Relative Location if it's attached |
See also SetRelativeLocation.
Optimal

GetRelativeRotationโ
Gets this Actor's Relative Rotation if it's attached
local relative_rotation = my_actor:GetRelativeRotation()
Returns
| Type | Description |
|---|---|
| Rotator | This Actor's Relative Rotation if it's attached |
See also SetRelativeRotation.
Optimal

GetRotationโ
Gets this Actor's angle in the game world
local rotation = my_actor:GetRotation()
Returns
| Type | Description |
|---|---|
| Rotator | This Actor's angle in the game world |
See also SetRotation.
Optimal

GetScaleโ
Gets this Actor's scale
local scale = my_actor:GetScale()
Returns
| Type | Description |
|---|---|
| Vector | This Actor's scale |
See also SetScale.
Optimal

GetScreenPercentageโ
Gets the percentage of this Actor size in the screen
local ret = my_actor:GetScreenPercentage()
Returns
| Type | Description |
|---|---|
| float | Percentage of this Actor size in the screen |
Moderate

GetSocketTransformโ
Gets a Socket Transform in world space given a bone or socket name
local ret = my_actor:GetSocketTransform(socket_name, attachable_id?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | socket_name | Required parameter | Name of the socket |
| string | attachable_id? | | The attachable ID (set with AddSkeletalMeshAttached or AddStaticMeshAttached) to read the Socket from. Pass empty to read from the main mesh |
Returns
| Type | Description |
|---|---|
| table | Socket Transform in world space given a bone or socket name with this format |
Optimal

GetVelocityโ
Gets this Actor's current velocity
local velocity = my_actor:GetVelocity()
Returns
| Type | Description |
|---|---|
| Vector | This Actor's current velocity |
Optimal

HasNetworkAuthorityโ
Returns true if the local Player is currently the Network Authority of this Actor
local has_network_authority = my_actor:HasNetworkAuthority()
Returns
| Type | Description |
|---|---|
| boolean | Whether the local Player is currently the Network Authority of this Actor |
Optimal

IsGravityEnabledโ
Returns true if gravity is enabled on this Actor
local gravity_enabled = my_actor:IsGravityEnabled()
Returns
| Type | Description |
|---|---|
| boolean | Whether gravity is enabled on this Actor |
See also SetGravityEnabled.
Optimal

IsInWaterโ
Returns true if this Actor is in water. Only Actors that simulate physics work for this function, such asProp,Vehicle,PickablesandCharacteronly.
local in_water = my_actor:IsInWater()
Returns
| Type | Description |
|---|---|
| boolean | Whether this Actor is in water |
Optimal

IsNetworkDistributedโ
Returns true if this Actor is currently network distributed. Only actors being network distributed can have their network authority set
Entities have NetworkDistributed automatically disabled when: Attached, Possessed, Grabbed, Picked Up or Driving
local ret = my_actor:IsNetworkDistributed()
Returns
| Type | Description |
|---|---|
| boolean | Whether this Actor is currently network distributed |
See also SetNetworkAuthorityAutoDistributed, SetNetworkAuthority.
Optimal

IsVisibleโ
Returns true if this Actor is visible
local is_visible = my_actor:IsVisible()
Returns
| Type | Description |
|---|---|
| boolean | Whether this Actor is visible |
Optimal

RemoveActorTagโ
Removes an Unreal Actor Tag from this Actor
my_actor:RemoveActorTag(tag)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | tag | Required parameter | The tag to remove |
See also AddActorTag, GetActorTags.
Optimal

RotateToโ
Smoothly rotates this actor to an angle over a certain time
my_actor:RotateTo(rotation, time, exp?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Rotator | rotation | Required parameter | The target rotation |
| float | time | Required parameter | Time to interpolate from current location to target location |
| float | exp? | 0 | Exponent used to smooth interpolation. Use 0 for linear movement |
Optimal

SetAngularForceโ
Adds a permanent angular force to this Actor, set to Vector(0, 0, 0) to cancel
my_actor:SetAngularForce(angular_force)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | angular_force | Required parameter | The angular force to apply every frame |
See also GetAngularForce.
Moderate

SetCastShadowโ
Sets this Actor's to cast shadows or not
my_actor:SetCastShadow(cast_shadow)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| boolean | cast_shadow | Required parameter | The new to cast shadows or not |
Optimal

SetCollisionโ
Sets this Actor's collision type
my_actor:SetCollision(collision_type)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| CollisionType | collision_type | Required parameter | The new collision type |
See also GetCollision.
Moderate

SetDimensionโ
Sets this Actor's Dimension. Actors only see and interact with entities in the same Dimension
my_actor:SetDimension(dimension)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | dimension | Required parameter | The new Dimension |
See also GetDimension, DimensionChange.
Optimal

SetDistanceOptimizationMultiplierโ
Sets this Actor's distance optimization multiplier.
A value of 0 disables optimization. Values under 1 decrease the effect, while values over 1 increase it
my_actor:SetDistanceOptimizationMultiplier(multiplier)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| float | multiplier | Required parameter | The new distance optimization multiplier |
Optimal

SetForceโ
Adds a permanent force to this Actor, set to Vector(0, 0, 0) to cancel
my_actor:SetForce(force, is_local?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | force | Required parameter | The force to apply every frame |
| boolean | is_local? | true | Whether to apply the force in local space |
See also GetForce.
Optimal

SetGravityEnabledโ
Sets whether gravity is enabled on this Actor
my_actor:SetGravityEnabled(gravity_enabled)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| boolean | gravity_enabled | Required parameter | Whether gravity is enabled on this Actor |
See also IsGravityEnabled.
Optimal

SetHighlightEnabledโ
Sets whether the highlight is enabled on this Actor, and which highlight index to use. This will apply the highlight on every attached entity too
my_actor:SetHighlightEnabled(is_enabled, index?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| boolean | is_enabled | Required parameter | Whether the highlight is enabled |
| integer | index? | 0 | Index to use (should be 0, 1 or 2) |
See also Client.SetHighlightColor().
Optimal

SetLifeSpanโ
Sets the time (in seconds) before this Actor is destroyed. After this time has passed, the actor will be automatically destroyed.
my_actor:SetLifeSpan(seconds)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| float | seconds | Required parameter | Seconds before being destroyed |
See also GetLifeSpan.
Moderate

SetLocationโ
Sets this Actor's location in the game world
my_actor:SetLocation(location)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | location | Required parameter | The new location in the game world |
See also GetLocation.
Moderate

SetNetworkAuthorityโ
Sets the Player to have network authority over this Actor. This Player will be manually assigned to handle this Actor's physics and share its location with other clients. The authority assignment will still be overridden by the game automatically
Please refer to Network Authority for more information
my_actor:SetNetworkAuthority(player?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Player | player? | nil | New player which will assume the Network Authority of this Actor |
See also SetNetworkAuthorityAutoDistributed, IsNetworkDistributed, GetNetworkAuthority, NetworkAuthorityChange.
Optimal

SetNetworkAuthorityAutoDistributedโ
Sets if this Actor will auto distribute the network authority between players when idle
Please refer to Network Authority for more information
my_actor:SetNetworkAuthorityAutoDistributed(auto_distribute)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| boolean | auto_distribute | Required parameter | If this Actor will be auto network distributed |
See also SetNetworkAuthority, IsNetworkDistributed.
Optimal

SetOutlineEnabledโ
Sets whether the outline is enabled on this Actor, and which outline index to use. This will apply the outline on every attached entity too
my_actor:SetOutlineEnabled(is_enabled, index?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| boolean | is_enabled | Required parameter | Whether the outline is enabled |
| integer | index? | 0 | Index to use (should be 0, 1 or 2) |
See also Client.SetOutlineColor().
Moderate

SetRelativeLocationโ
Sets this Actor's relative location in local space (only if this actor is attached)
my_actor:SetRelativeLocation(relative_location)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | relative_location | Required parameter | The new relative location in local space |
See also GetRelativeLocation.
Moderate

SetRelativeRotationโ
Sets this Actor's relative rotation in local space (only if this actor is attached)
my_actor:SetRelativeRotation(relative_rotation)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Rotator | relative_rotation | Required parameter | The new relative rotation in local space |
See also GetRelativeRotation.
Moderate

SetRenderCullDistanceโ
Sets this Actor's render cull distance. Note: this will only affect the rendering distance, the entity will still be spawned and synced normally regardless of this distance
my_actor:SetRenderCullDistance(max_distance)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | max_distance | Required parameter | The new render cull distance |
Moderate

SetRotationโ
Sets this Actor's rotation in the game world
my_actor:SetRotation(rotation)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Rotator | rotation | Required parameter | The new rotation in the game world |
See also GetRotation.
Slow

SetScaleโ
Sets this Actor's scale
my_actor:SetScale(scale)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | scale | Required parameter | The new scale |
See also GetScale.
Optimal

SetVisibilityโ
Sets whether the actor is visible or not
my_actor:SetVisibility(is_visible)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| boolean | is_visible | Required parameter | Whether the actor is visible or not |
Optimal

TranslateToโ
Smoothly moves this actor to a location over a certain time
my_actor:TranslateTo(location, time, exp?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | location | Required parameter | The target location |
| float | time | Required parameter | Time to interpolate from current location to target location |
| float | exp? | 0 | Exponent used to smooth interpolation. Use 0 for linear movement |
Moderate

WasRecentlyRenderedโ
Gets if this Actor was recently rendered on screen
local ret = my_actor:WasRecentlyRendered()
Returns
| Type | Description |
|---|---|
| boolean | Whether this Actor was recently rendered on screen |
๐ย Eventsโ
| Name | Description | |
|---|---|---|
DimensionChange | Triggered when an Actor changes its dimension | |
EnterWater | Triggered when an Actor enters a water body | |
LeaveWater | Triggered when an Actor leaves a water body | |
NetworkAuthorityChange | Triggered when an Actor changes its network authority Player | |
NetworkAuthorityChange | Triggered when the local Player gets/loses network authority over this actor |

DimensionChangeโ
Triggered when an Actor changes its dimension
<AnyActorClass>.Subscribe("DimensionChange", function(self, old_dimension, new_dimension)
-- DimensionChange was called
end)
Arguments
| Type | Argument | Description |
|---|---|---|
| Base Actor | self | The Actor that triggered the event |
| integer | old_dimension | The previous dimension |
| integer | new_dimension | The new dimension |
See also SetDimension, GetDimension.

EnterWaterโ
Triggered when an Actor enters a water body. Only Actors that simulate physics trigger this event, such asProp,Vehicle,PickablesandCharacteronly.
<AnyActorClass>.Subscribe("EnterWater", function(self)
-- EnterWater was called
end)
Arguments
| Type | Argument | Description |
|---|---|---|
| Base Actor | self | The Actor that triggered the event |
See also IsInWater.

LeaveWaterโ
Triggered when an Actor leaves a water body. Only Actors that simulate physics trigger this event, such asProp,Vehicle,PickablesandCharacteronly.
<AnyActorClass>.Subscribe("LeaveWater", function(self)
-- LeaveWater was called
end)
Arguments
| Type | Argument | Description |
|---|---|---|
| Base Actor | self | The Actor that triggered the event |
See also IsInWater.

NetworkAuthorityChangeโ
Triggered when an Actor changes its network authority Player
<AnyActorClass>.Subscribe("NetworkAuthorityChange", function(self, old_network_authority, new_network_authority)
-- NetworkAuthorityChange was called
end)
Arguments
| Type | Argument | Description |
|---|---|---|
| Base Actor | self | The Actor that triggered the event |
| Player or nil | old_network_authority | The old Network Authority Player, if any |
| Player or nil | new_network_authority | The new Network Authority Player, if any |
See also SetNetworkAuthority, GetNetworkAuthority.

NetworkAuthorityChangeโ
Triggered when the local Player gets/loses network authority over this actor
<AnyActorClass>.Subscribe("NetworkAuthorityChange", function(self, is_network_authority)
-- NetworkAuthorityChange was called
end)
Arguments
| Type | Argument | Description |
|---|---|---|
| Base Actor | self | The Actor that triggered the event |
| boolean | is_network_authority | Whether the local Player is now the Network Authority of this Actor |
See also SetNetworkAuthority, GetNetworkAuthority.


