media.giphy.com/media/kymmiBQXrHKDJWi3fL/giphy.gif
As you see in the link above, the gate just passes through the box, which has the platformer and solid behavior.
This is the code for how the gate works. It uses a timer and lerp to move from one point to another. I attempted the same using moveto behavior, but it was just too buggy.
One option could be to detect if there's a box nearby the gate, and stop if so. However, this won't work for me. The gate should also be able to push a box upwards, and stop only when it hits the ceiling and can't move anymore.
Is there a better way to create this collision case?