Partial pass object

It’s an interesting problem! If I understand you, it’s basically like standing in quicksand?

I think the approach I would take is to have two separate controllers, normal and quicksand, and use the trigger enter/exit to enable/disable the normal versus quicksand controller.

The quicksand controller would simply be different than normal controller: it would sink, it would limit motion (feels sticky), perhaps make jumping harder, etc.

When the player poops out the bottom of the quicksand, leaving the trigger would re-enable the normal controller.

The other issue you will likely have is line 35 where you move the physics yourself, bypassing the physics system. It might work sometimes, but not reliably. Here’s why:

With Physics (or Physics2D), never manipulate the Transform directly. If you manipulate the Transform directly, you are bypassing the physics system and you can reasonably expect glitching and missed collisions and other physics mayhem.

Always use the .MovePosition() and .MoveRotation() methods on the Rigidbody (or Rigidbody2D) instance in order to move or rotate things. Doing this keeps the physics system informed about what is going on.