An entity will never be sent to a client or used for collision if it is not passed to linkentity.
If the size, position, or solidity changes, it must be relinked.
When an entity is "linked" it is subject to all evaluations that the world performs on it.
It enables collision detection for an with the entity (interacts with others).
It also activates PVS data for entity (it sees others, others see it).
For example, all linked entities are accounted for when performing a trace.
Newly created entities are not linked into the world - they must be explcitly linked using this call.
Linking an entity that is already linked into the world has no effect unless the following properties have changed:
- Its origin or angles have changed which might cause a change in the entity's PVS (ent->r.currentOrigin is used to calculate the entity's PVS cluster)
- Its bounds have changed (again, is used in PVS cluster calculations, and to set abs(min/max))
- Its contents have changed (will set ent->s.solid)
- Its brush model has changed (again, sets ent->s.solid)