I have a static ContactFilter2D like so:
protected static ContactFilter2D contact_filter;
protected float self_destruct_timer;
protected Vector3 direction;
private float xward;
protected virtual void Start ()
{ phys.velocity = transform.right * speed * xward;
self_destruct_timer = Time.time + life_time;
if (!contact_filter.isFiltering) contact_filter.layerMask = Public_Const.Solid;
contact_filter.useLayerMask = true;
...
}
Every isFiltering_____ variable (i.e. isFilteringLayerMask) is set to false by default, therefore there should be no way that isFiltering should return a true value. The whole point of checking to see if isFiltering is true is to check to see if the contact filter has already been initialized, so why won't it work?
contact_filter.layerMask = Public_Const.Solid;
being run or not? \$\endgroup\$