Quick answer: The Collider2D on the same GameObject must have Used By Effector enabled. AreaEffector2D needs Is Trigger on the collider; SurfaceEffector2D keeps it solid. Confirm the layer mask includes the target Rigidbody2D's layer.

Here is how to fix Unity Physics2D Effectors (Area, Point, Surface, Buoyancy) that exist on a GameObject but never apply force to nearby rigidbodies. The effector and its collider have to be linked via the Used By Effector flag, and the right collider mode (trigger vs solid) depends on the effector type.

The Symptom

You add an AreaEffector2D for a wind zone. Player walks through; nothing pushes. Effector inspector shows nonzero magnitude, gizmo arrows visible, but no actual force.

What Causes This

Used By Effector flag off. The Collider2D has a checkbox that opts it into effector use. Without it, no force is applied.

Wrong trigger setting. AreaEffector2D needs trigger collider so objects pass through; SurfaceEffector2D needs solid for conveyor belts.

Layer mismatch. Effector ColliderMask filters which Rigidbody2Ds it affects.

The Fix

Step 1: Enable Used By Effector. On the Collider2D, check Used By Effector. The effector now drives this collider's effect.

Step 2: Set trigger flag per effector type.

AreaEffector2D    -> Is Trigger = true   (push fluids/wind)
PointEffector2D   -> Is Trigger = true   (gravity well)
BuoyancyEffector2D -> Is Trigger = true  (water surface)
SurfaceEffector2D -> Is Trigger = false  (conveyor belt - walk on it)

Step 3: Configure magnitude and direction.

AreaEffector2D:
  Force Magnitude       = 10
  Force Angle           = 0     // 0 = right, 90 = up
  Force Variation       = 0
  Force Target          = Collider
  Use Global Angle      = true

Step 4: Match collider mask. ColliderMask defaults to Everything. Restrict to specific layers if you only want certain objects affected.

Step 5: Verify with a test rigidbody. Drop a Rigidbody2D box into the effector area. It should drift in the configured direction. If not, check Used By Effector and layer mask first.

Common Pitfalls

Effector on a parent GameObject with collider on a child — the link is per-GameObject. Effector and collider must be on the same node.

Multiple colliders on one GameObject — each needs Used By Effector independently.

“Used By Effector flag, right trigger setting, matching layer. Three checks for forces to flow.”

Related Issues

For DistanceJoint stretch, see DistanceJoint Stretching. For Rigidbody2D shake, see Rigidbody2D Shaking.

Used By Effector. Trigger or solid per effector type. Layers right. The push works.