This hook must return the same value consistently for the same pair of entities. If an entity changed in such a way that its collision rules change, you must call Entity:CollisionRulesChanged on that entity immediately - not in this hook.
This hook can cause all physics to break under certain conditions.
Issue Tracker: #642
This hook is predicted. This means that in singleplayer, it will not be called in the Client realm.
This should always return true unless you have a good reason for it not to.
function GM:ShouldCollide( ent1, ent2 ) -- If players are about to collide with each other, then they won't collide. if ( IsValid( ent1 ) and IsValid( ent2 ) and ent1:IsPlayer() and ent2:IsPlayer() ) then return false end -- We must call this because anything else should return true. return true end