Garry's Mod Wiki



Information about the ENT structure.

To learn more about scripted entities, see this page.

While some of the fields may be serverside or clientside only, it is recommended to provide them on both so addons could use their values.

Values defined in ENT table can't be changed per instance. Initialize default values in ENTITY:Initialize or other hook


string Base
The base entity to derive from. This must be a valid Lua entity
string Type
Type of the entity. This must be one of these:

  • anim
  • brush
  • point
  • ai
  • nextbot
  • filter

See Scripted Entities for a more detailed explanation of what each one is.

string ClassName
Entity class name of the entity (File or folder name of your entity). This is set automatically after the entity file is loaded.
string Folder
The folder from where the entity was loaded. This should always be "entity/ent_myentity", regardless whether your entity is stored as a file, or multiple files in a folder. This is set automatically before the entity file is loaded.
boolean AutomaticFrameAdvance
(Clientside) Set this to true if your entity has animations. You should also apply changes to the ENTITY:Think function from the example on that page.

Default: false

string Category
(Clientside) Spawnmenu category to put the entity into

Default: "Other"

boolean Spawnable
Whether this entity should be displayed and is spawnable in the spawn menu

Default: false

boolean Editable
Whether the entity supports Editing. See Editable Entities for more info.

Default: false

boolean AdminOnly
Whether or not only admins can spawn the entity from their spawn menu

Default: false

string PrintName
(Clientside) Nice name of the entity to appear in the spawn menu
string Author
(Clientside) The author of the entity
string Contact
(Clientside) The contacts of the entity creator
string Purpose
(Clientside) The purpose of the entity creation
string Instructions
(Clientside) How to use your entity
number RenderGroup
(Clientside) The entity's render group, see Enums/RENDERGROUP.


boolean DisableDuplicator
(Serverside) Disable the ability for players to duplicate this entity.

Default: false

string ScriptedEntityType
(Clientside) Sets the spawnmenu content icon type for the entity, used by spawnmenu in the Sandbox-derived gamemodes. See spawnmenu.AddContentType for more information.
boolean DoNotDuplicate
(Serverside) If set, the entity will not be duplicated via the built-in duplicator system.

Default: false

string IconOverride
(Clientside) If set, overrides the icon path to be displayed in the Spawnmenu for this entity.

Default: "materials/entities/<ClassName>.png"