Base Entity
Entity is the base for all Classes, and all those entities share the same Methods and Events described in this page.
Base ClassAPI Source
👪Base Class
This is a Base Class, an abstract definition that shares common methods and events with it's child classes. You cannot spawn it, and you cannot call anything on the Base Class name itself. Use any class that inherits it.
Classes that share methods and events from this Base Class: Billboard, Blueprint, Cable, Character, CharacterSimple, Decal, Gizmo, Grenade, InstancedStaticMesh, Light, Melee, Particle, Player, Prop, SceneCapture, StaticMesh, Sound, TextRender, Text3D, Trigger, VehicleWheeled, VehicleWater, Weapon, WebUI, Widget, Widget3D.
Classes that share methods and events from this Base Class: Billboard, Blueprint, Cable, Character, CharacterSimple, Decal, Gizmo, Grenade, InstancedStaticMesh, Light, Melee, Particle, Player, Prop, SceneCapture, StaticMesh, Sound, TextRender, Text3D, Trigger, VehicleWheeled, VehicleWater, Weapon, WebUI, Widget, Widget3D.
🗿 Static Functions
| 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 |
Moderate

GetAll
Returns a table containing all Entities of the class this is called on
local ret = <AnyEntityClass>.GetAll()
Returns
| Type | Description |
|---|---|
| table of Base Entity | Copy of table containing all Entities |
Optimal

GetByIndex
Returns a specific Entity of this class at an index
local ret = <AnyEntityClass>.GetByIndex(index)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | index | Required parameter | The index of the Entity |
Returns
| Type | Description |
|---|---|
| Base Entity | Entity at index |
Optimal

GetCount
Returns how many Entities of this class exist
local ret = <AnyEntityClass>.GetCount()
Returns
| Type | Description |
|---|---|
| integer | Number of Entities of this class |
Moderate

GetInheritedClasses
Gets a list of all directly inherited classes from this Class created with the Inheriting System
local ret = <AnyEntityClass>.GetInheritedClasses(recursively?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| boolean | recursively? | false | Returns all inherited children |
Optimal

GetPairs
Returns an iterator with all Entities of this class to be used withpairs(). This is a more performant method thanGetAll(), as it will return the iterator to access the Entities directly instead of creating and returning a copy of the Entities table.
Note: Destroying Entities from inside aGetPairs()loop will cause the iterable to change size during the process. If you want to loop-and-destroy, please useGetAll().
local ret = <AnyEntityClass>.GetPairs()
Returns
| Type | Description |
|---|---|
| iterator | Iterator with all Entities of this class |
Optimal

GetParentClass
Gets the parent class if this Class was created with the Inheriting System
local ret = <AnyEntityClass>.GetParentClass()
Slow

Inherit
Inherits this class with the Inheriting System
local class = <AnyEntityClass>.Inherit(name, custom_values?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | name | Required parameter | The name of the new Class |
| table | custom_values? | {} | An optional table with custom values to be set in the inherited class table |
Returns
| Type | Description |
|---|---|
| table | The new Class table |
Optimal

IsChildOf
Gets if this Class is child of another class if this Class was created with the Inheriting System
local ret = <AnyEntityClass>.IsChildOf(class)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| table | class | Required parameter | The other class to check |
Returns
| Type | Description |
|---|---|
| boolean | No description provided |
Optimal

Subscribe
Subscribes to an Event for all entities of this Class
local ret = <AnyEntityClass>.Subscribe(event_name, callback)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | event_name | Required parameter | Name of the event to subscribe to |
| function | callback | Required parameter | Function to call when the event is triggered |
Returns
| Type | Description |
|---|---|
| function | Callback that was passed (useful for unsubscribing later if your callback is an anonymous function) |
Optimal

SubscribeRemote
Subscribes to a custom event called from server
local ret = <AnyEntityClass>.SubscribeRemote(event_name, callback)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | event_name | Required parameter | Name of the event to subscribe to |
| function | callback | Required parameter | Function to call when the event is triggered |
Returns
| Type | Description |
|---|---|
| function | Callback that was passed (useful for unsubscribing later if your callback is an anonymous function) |
Optimal

Unsubscribe
Unsubscribes all callbacks from this Event in this Class within this Package, or only the callback passed
<AnyEntityClass>.Unsubscribe(event_name, callback?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | event_name | Required parameter | Name of the event to unsubscribe from |
| function | callback? | nil | Optional callback to unsubscribe |
🦠 Functions
| Returns | Name | Description | |
|---|---|---|---|
BroadcastRemoteEvent | Calls a custom remote event directly on this entity to all Players | ||
BroadcastRemoteInRadiusEvent | Calls a custom remote event directly on this entity to all Players in a radius | ||
CallRemoteEvent | Calls a custom remote event directly on this entity to a specific Player | ||
CallRemoteEvent | Calls a custom remote event directly on this entity | ||
CallRemotePlayersEvent | Calls a custom remote event directly on this entity to a list of Players | ||
Destroy | Destroys this Entity | ||
FinishSpawn | Finish the spawning process and send the entity to clients if it was spawned with a deferred spawn_mode | ||
| 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 | HasAuthority | Gets if the local context has authority over this Entity (true if spawned by the client, false if spawned by the server) | |
| boolean | IsA | Recursively checks if this entity is inherited from a Class | |
| boolean | IsBeingDestroyed | Returns true if this Entity is being destroyed | |
| boolean | IsSpawned | Gets if this Entity finished spawning | |
| boolean | IsValid | Returns true if this Entity is valid (i.e. wasn't destroyed and points to a valid Entity) | |
SetSpawnMode | Overrides when this Entity finishes spawning, from the Constructor of an Inherited Class | ||
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 |
Moderate

BroadcastRemoteEvent
Calls a custom remote event directly on this entity to all Players
🆕Updated Function
This method was recently updated in ver. 1.139. See the Compatibility Versions page for more information.
my_entity:BroadcastRemoteEvent(event_name, reliability?, args...?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | event_name | Required parameter | The Event Name to trigger the event |
| Reliability | reliability? | Reliability.Reliable | The network reliability rule |
| any | args...? | nil | Arguments to pass to the event |
Moderate

BroadcastRemoteInRadiusEvent
Calls a custom remote event directly on this entity to all Players in a radius
my_entity:BroadcastRemoteInRadiusEvent(event_name, radius, reliability?, args...?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | event_name | Required parameter | The Event Name to trigger the event |
| float | radius | Required parameter | The radius to send this event |
| Reliability | reliability? | Reliability.Reliable | The network reliability rule |
| any | args...? | nil | Arguments to pass to the event |
Moderate

CallRemoteEvent
Calls a custom remote event directly on this entity to a specific Player
🆕Updated Function
This method was recently updated in ver. 1.139. See the Compatibility Versions page for more information.
my_entity:CallRemoteEvent(event_name, player, reliability?, args...?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | event_name | Required parameter | The Event Name to trigger the event |
| Player | player | Required parameter | The remote player to send this event |
| Reliability | reliability? | Reliability.Reliable | The network reliability rule |
| any | args...? | nil | Arguments to pass to the event |
Moderate

CallRemoteEvent
Calls a custom remote event directly on this entity
🆕Updated Function
This method was recently updated in ver. 1.139. See the Compatibility Versions page for more information.
my_entity:CallRemoteEvent(event_name, reliability?, args...?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | event_name | Required parameter | The Event Name to trigger the event |
| Reliability | reliability? | Reliability.Reliable | The network reliability rule |
| any | args...? | nil | Arguments to pass to the event |
Moderate

CallRemotePlayersEvent
Calls a custom remote event directly on this entity to a list of Players
my_entity:CallRemotePlayersEvent(event_name, players, reliability?, args...?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | event_name | Required parameter | The Event Name to trigger the event |
| table of Player | players | Required parameter | The remote players to send this event |
| Reliability | reliability? | Reliability.Reliable | The network reliability rule |
| any | args...? | nil | Arguments to pass to the event |
Moderate

Destroy
Destroys this Entity
my_entity:Destroy()
Moderate

FinishSpawn
Finish the spawning process and send the entity to clients if it was spawned withSpawnMode.AfterConstructororSpawnMode.Manual. Call this after configuring the entity for efficient spawning.
Note: an Entity of an Inherited Class constructed withSpawnMode.AfterConstructorfinishes spawning automatically when its Constructor returns.
my_entity:FinishSpawn()
Moderate

GetAllValuesKeys
Gets a list of all values keys
local ret = my_entity:GetAllValuesKeys()
Optimal

GetClass
Gets the class of this entity
local class = my_entity:GetClass()
Returns
| Type | Description |
|---|---|
| table | class |
Optimal

GetID
Gets the universal network ID of this Entity (same on both client and server)
local id = my_entity:GetID()
Returns
| Type | Description |
|---|---|
| integer | id |
Optimal

GetValue
Gets a Value stored on this Entity at the given key. Please refer to Entity Values for more information
local value = my_entity:GetValue(key, fallback)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | key | Required parameter | No description provided |
| any | fallback | Required parameter | Fallback value if key doesn't exist |
Returns
| Type | Description |
|---|---|
| any | Value at key or fallback if key doesn't exist |
See also GetAllValuesKeys, SetValue.
Optimal

HasAuthority
Gets if the local context has authority over this Entity (true if spawned by the client, false if spawned by the server)
local ret = my_entity:HasAuthority()
Returns
| Type | Description |
|---|---|
| boolean | true if spawned by the client, false if spawned by the server |
Moderate

IsA
Recursively checks if this entity is inherited from a Class
local ret = my_entity:IsA(class)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| table | class | Required parameter | The Class |
Returns
| Type | Description |
|---|---|
| boolean | No description provided |
Optimal

IsBeingDestroyed
Returns true if this Entity is being destroyed.
You can check this inside events likeDropto see if a Pickable is being dropped because it's going to be destroyed
local ret = my_entity:IsBeingDestroyed()
Returns
| Type | Description |
|---|---|
| boolean | No description provided |
Optimal

IsSpawned
Gets if this Entity finished spawning.
An Entity spawned with a deferredSpawnModeis only spawned afterFinishSpawn()is called on it or when the Inherited Class constructor returns, everything else is spawned right away.
local ret = my_entity:IsSpawned()
Returns
| Type | Description |
|---|---|
| boolean | If the Entity finished spawning |
Optimal

IsValid
Returns true if this Entity is valid (i.e. wasn't destroyed and points to a valid Entity)
local is_valid = my_entity:IsValid()
Returns
| Type | Description |
|---|---|
| boolean | is_valid |
Optimal

SetSpawnMode
Overrides when this Entity finishes spawning, from the Constructor of an Inherited Class.
OnlySpawnMode.AfterConstructorandSpawnMode.Manualare accepted, and only while the Entity has not finished spawning yet.
my_entity:SetSpawnMode(spawn_mode)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| SpawnMode | spawn_mode | Required parameter | Only SpawnMode.AfterConstructor and SpawnMode.Manual are accepted |
Optimal

SetValue
Sets a value in this Entity, which can be accessed by any package (optionally sync on clients if called from server)
Please refer to Entity Values for more information
my_entity:SetValue(key, value, sync_on_clients?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | key | Required parameter | No description provided |
| any | value | Required parameter | No description provided |
| boolean | sync_on_clients? | false | Server side parameter, if enabled will sync this value with all clients |
See also GetAllValuesKeys, GetValue.
Optimal

Subscribe
Subscribes to an Event on this specific entity
local ret = my_entity:Subscribe(event_name, callback)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | event_name | Required parameter | Name of the event to subscribe to |
| function | callback | Required parameter | Function to call when the event is triggered |
Returns
| Type | Description |
|---|---|
| function | Callback that was passed (useful for unsubscribing later if your callback is an anonymous function) |
Optimal

SubscribeRemote
Subscribes to a custom event called from server on this specific entity
local ret = my_entity:SubscribeRemote(event_name, callback)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | event_name | Required parameter | Name of the event to subscribe to |
| function | callback | Required parameter | Function to call when the event is triggered |
Returns
| Type | Description |
|---|---|
| function | Callback that was passed (useful for unsubscribing later if your callback is an anonymous function) |
Optimal

Unsubscribe
Unsubscribes all callbacks from this Event in this Entity within this Package, or only the callback passed
my_entity:Unsubscribe(event_name, callback?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | event_name | Required parameter | Name of the event to unsubscribe from |
| function | callback? | nil | Optional callback to unsubscribe |
🚀 Events
| 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() |

ClassRegister
Triggered when a new Class is registered with the Inheriting System
<AnyEntityClass>.Subscribe("ClassRegister", function(class)
-- ClassRegister was called
end)
Arguments
| Type | Argument | Description |
|---|---|---|
| table | class | The inherited Class |

Destroy
Triggered when an Entity is destroyed
<AnyEntityClass>.Subscribe("Destroy", function(self)
-- Destroy was called
end)
Arguments
| Type | Argument | Description |
|---|---|---|
| Base Entity | self | The Entity which that was destroyed |

Spawn
Triggered when an Entity is spawned/created
<AnyEntityClass>.Subscribe("Spawn", function(self)
-- Spawn was called
end)
Arguments
| Type | Argument | Description |
|---|---|---|
| Base Entity | self | The Entity that was spawned |

ValueChange
Triggered when an Entity has a value changed with :SetValue()<AnyEntityClass>.Subscribe("ValueChange", function(self, key, value)
-- ValueChange was called
end)
Arguments
| Type | Argument | Description |
|---|---|---|
| Base Entity | self | The Entity that just had a value changed |
| string | key | The key used |
| any | value | The value that was set |


