In many scenarios, we could reduce the number of contacts required for systems by a factor of 8x or more if receivers exposed more information about the current collision. This is very necessary to avoid the undocumented vrchat "hard nearby contact limit."
This additional information could be exposed as parameter suffixes, just like _Stretch on physbones.
Specifically, these parameters would be very, VERY useful, and allow for an ENORMOUS reduction in contacts:
* X, Y, Z offset of the nearest collision in world units but LOCAL rotation (for example, z should be "forward" of the contact)
* Whether the nearest collision is self or others (or world?)
* Velocity of the proximity (change in collision proximity since last contact update / time delta, this is very difficult to calculate in animator since contacts do not always update every frame)
* Velocity of the sender (change in sender position since last contact update / time delta)
* Matching tags of the nearest collision. This could possibly be exposed as multiple bools <receiverparam>_Tag_<tagname> = 0,1