Quick answer: On the Effector, tick Use Collider Mask and set the Layer Mask to only the bodies you want affected. On the same Collider2D, tick Used By Effector. Without both, the effector acts on everything inside.

A water Buoyancy Effector floats every body that walks in — player, enemies, dropped items. You want only floatable boats. Layer mask exists; you forgot to tick Use Collider Mask.

The Symptom

2D effector applies forces to bodies that should be ignored. Layer Mask field is set but ignored.

The Fix

BuoyancyEffector2D:
  Density:               2
  Linear Drag:           1
  Angular Drag:          5
  Use Collider Mask:     true      // THIS
  Collider Mask:         Boat, Item       // excludes Player and Enemy
BoxCollider2D (same GameObject):
  Is Trigger:            true
  Used By Effector:      true      // THIS

Use Collider Mask + Collider Mask filters which bodies receive the effector force. Used By Effector tells the collider it’s the effector’s footprint.

Effector Types

All have Use Collider Mask + Collider Mask. Set both per-effector.

Verifying

Drop player, enemy, and boat into the water. Only boat floats. Add Debug.Log on entry to confirm the effector activates the right bodies.

“Use Collider Mask. Used By Effector. Layer mask filters.”

Related Issues

For Physics2D OverlapCircle, see overlap stale. For trigger exit on disable, see trigger exit.

Both flags. Mask filters.