This article's documentation is for anything that uses the Source engine. Click here for more information.

Entity (GoldSrc): Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Created page with "{{LanguageBar}} {{Source topicon}} {{TabsBar|main=gs2|base=Entity}} {{cleanup|Keep only goldsrc info}} An object defined within {{gldsrc|4}}, {{src|4}} or {{source2|4}} as having characteristics which differentiate it from "the world" (world brushes). == Types of entities == {{note|These types are only from perspective of map editors and are based on FGD definitions or how map compilers deal with them {{confirm}}}} {| class="wikitable" style="width:...")
 
(wip)
Line 4: Line 4:
{{cleanup|Keep only goldsrc info}}
{{cleanup|Keep only goldsrc info}}


An object defined within {{gldsrc|4}}, {{src|4}} or {{source2|4}} as having characteristics which differentiate it from "the [[worldspawn|world]]" (world brushes).
An object defined within {{gldsrc|4}} as having characteristics which differentiate it from "the [[worldspawn (GoldSrc)|world]]" (world brushes).


== Types of entities ==
== Types of entities ==
Line 11: Line 11:
|-
|-
!Types
!Types
!available in
!Info
!Info
|-
|-
Line 17: Line 16:
|-
|-
|align="center"|[[Brush entity]]
|align="center"|[[Brush entity]]
|align="center"|{{src|4}} and earlier
|A '''Brush Entity''' is an '''entity''' type in the {{gldsrc|2}} and {{source|2}} engines, created by ''tying'' an entity to a BSP geometry [[brush]] in the map, giving the brush a specific effect or ability defined by the entity ''tied'' to it.<br>(The default shortcut is {{Key|Ctrl}} + {{Key|T}} after selecting a brush)
|A '''Brush Entity''' is an '''entity''' type in the {{gldsrc|2}} and {{source|2}} engines, created by ''tying'' an entity to a BSP geometry [[brush]] in the map, giving the brush a specific effect or ability defined by the entity ''tied'' to it.<br>(The default shortcut is {{Key|Ctrl}} + {{Key|T}} after selecting a brush)
|-
|-
|align="center"|[[Point entity]]
|align="center"|[[Point entity]]
|align="center"|All engines
|'''Point Entities''' are '''entities''' created at a specific position point on the [[coordinates|grid]]. Some require a model to be selected for them in order to function fully.
|'''Point Entities''' are '''entities''' created at a specific position point on the [[coordinates|grid]]. Some require a model to be selected for them in order to function fully.
|-
|align="center"|[[Mesh entity]]
|rowspan="2" align="center"|Only in {{source2|4}}
|'''Mesh entities''' available only in {{source2|2}}.<br>'''Mesh entities''' replace the {{source|2}} [[brush entity|brush entities]]. Since {{Source2|2}} no longer uses [[BSP]] [[brushes]], '''entities''' that need to be associated with geometry are now tied to Hammer meshes instead.
|-
|-
|align="center"|[[Path entity]]
|align="center"|[[Path entity]]
Line 34: Line 27:
|-
|-
|align="center"|[[Internal entity]]
|align="center"|[[Internal entity]]
|rowspan="2" align="center"| In all Engines
|'''Internal entities''' are those which are processed by compilers then either deleted or merged into another entity. They do not exist when the map is running, so they won't count to the [[entity limit]].<br>Internal entities get special treatment by the map compile tools and are removed from the final product, usually stored in a special chunk.<br>Examples of internal entities: {{ent|func_group|engine=goldsrc}}, {{ent|func_detail|engine=goldsrc}}, {{ent|light_surface|engine=goldsrc}},
|'''Internal entities''' are those which are processed by [[VBSP]] ({{gldsrc}} [[HLBSP]], or {{src2}} [[resourcecompiler]]) then either deleted or merged into another entity. They do not exist when the map is running, so they won't count to the [[entity limit]].<br>Internal entities get special treatment by the map compile tools and are removed from the final product, usually stored in a special chunk.
|-
|-
|align="center"|[[:Category:Non-internal entity|Non-Internal entity]]
|align="center"|[[:Category:Non-internal entity|Non-Internal entity]]
|'''non-internal entities''' are not processed by [[VBSP]] ({{gldsrc}} [[HLBSP]], or {{src2}} [[resourcecompiler]]) and remains as a separate entity.<br>These are typically interactive objects or characters that the player can interact with or that affect gameplay.<br>Examples of non-internal entities: {{ent|prop_dynamic}}, {{ent|logic_relay}}, {{ent|light}}, {{ent|npc_citizen}}.
|'''non-internal entities''' are not processed by the compilers and remains as a separate entity.<br>These are typically interactive objects or characters that the player can interact with or that affect gameplay.<br>Examples of non-internal entities: {{ent|func_wall|engine=goldsrc}}, {{ent|trigger_relay|engine=goldsrc}}, {{ent|light|engine=goldsrc}}, {{ent|monster_scientist|engine=goldsrc}}.
|}
|}
{{todo|Compiler-only entities like info_texlights}}


== Limitations ==
== Limitations ==
{{Main|Entity limit}}
{{Main|Entity limit}}
For reasons of memory allocation, there is a limit to the number of '''entities''' {{gldsrc|4}}/{{source|4}}/{{source2|4}} can manage at once.  
For reasons of memory allocation, there is a limit to the number of '''entities''' {{gldsrc|4}} can manage at once.  


The combined size (in bytes) of a map's entity data should also be considered, even if the number of entities is within safe limits. Large amounts of [[Source BSP File Format#Entity|entdata]] can take a noticeably long time to transmit from server to client, and may lead to crashes.
The combined size (in bytes) of a map's entity data should also be considered, even if the number of entities is within safe limits. Large amounts of [[Source BSP File Format#Entity|entdata]] can take a noticeably long time to transmit from server to client, and may lead to crashes.

Revision as of 13:11, 22 April 2025

English (en)Translate (Translate)
Broom icon.png
This article or section needs to be cleaned up to conform to a higher standard of quality because:
Keep only goldsrc info
For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.

An object defined within GoldSrc GoldSrc as having characteristics which differentiate it from "the world" (world brushes).

Types of entities

Note.pngNote:These types are only from perspective of map editors and are based on FGD definitions or how map compilers deal with them [confirm]
Types Info
By Form
Brush entity A Brush Entity is an entity type in the GoldSrc GoldSrc and Source Source engines, created by tying an entity to a BSP geometry brush in the map, giving the brush a specific effect or ability defined by the entity tied to it.
(The default shortcut is Ctrl + T after selecting a brush)
Point entity Point Entities are entities created at a specific position point on the grid. Some require a model to be selected for them in order to function fully.
Path entity Path entities are a type of entity recently added to the tools. They can be created with the currently hidden Path Tool (Shift + P).
By Internality
Internal entity Internal entities are those which are processed by compilers then either deleted or merged into another entity. They do not exist when the map is running, so they won't count to the entity limit.
Internal entities get special treatment by the map compile tools and are removed from the final product, usually stored in a special chunk.
Examples of internal entities: func_group, func_detail, light_surface,
Non-Internal entity non-internal entities are not processed by the compilers and remains as a separate entity.
These are typically interactive objects or characters that the player can interact with or that affect gameplay.
Examples of non-internal entities: func_wall, trigger_relay, light, monster_scientist.
Todo: Compiler-only entities like info_texlights

Limitations

Main article: Entity limit

For reasons of memory allocation, there is a limit to the number of entities GoldSrc GoldSrc can manage at once.

The combined size (in bytes) of a map's entity data should also be considered, even if the number of entities is within safe limits. Large amounts of entdata can take a noticeably long time to transmit from server to client, and may lead to crashes.

See also