Is it possible for a scripted entity to detect collision with a brush without making the brush an entity?

And if I do need to do this, how do I make it so that the brush still renders in-game? I’ve been trying to wrap my head around this for a while now.

Thanks in advance.

I am afraid not. If the brush entity doesn’t exist, how do you expect it to detect collisions?

It is possible to draw brush entities.

The main reason I don’t really want to do that regardless is due to problems that may arise when mapping. Even small- to medium-sized maps would require many hundreds of brush entities for my idea to properly work as intended. I’ve got it to work with ENT:PhysicsCollide, however:


function ENT:PhysicsCollide(data)
    if data["HitEntity"]:IsWorld() then
        ...
    end
end

I would still appreciate if somebody could explain why ENT:PhysicsCollide does work, but ENT:Touch and ENT:StartTouch don’t if the world is considered an entity.

ENT:Touch and ENT:StartTouch only work for entities that have set self:SetTrigger(true)

That explains. Thanks a lot for your time.