If you don’t add a Rigidbody2D then the colliders are static and should never ever be moved at runtime. This is why static/static will never collide. If you want to move them then add a Rigidbody2D. If you intend to move them using the Transform then set the Rigidbody2D to be Kinematic (not dynamic).
It will move if you’re modifying the transform. My point is that it’s expensive to move static colliders and they won’t produce a callback when they collide which is what you’re reporting.
Oh, that sounds like what I was looking for.
I actually move it with the transform. If I understood correctly, moving via transform won’t trigger the event? But if I use OnTriggerEnter2D? It should? Just for my understanding, will it work even if it could be more expensive?
As I said above; when you don’t add a Rigidbody2D component then the colliders are static. Static colliders do not collide with each other (no matter what you set-up in the collision layer matrix) and won’t produce a callback for collision or trigger. Add a Rigidbody2D to each and set them to be Kinematic. You’ll then start to get callbacks.
In your case, if your wall never moves then you can leave it without a Rigidbody2D (static)but if your arrow moves then you should add a Rigidbody2D component to it.