How can i prevent motion controller to overlap objects

You don’t want to attach a mesh to the motion controller in this case- the players hand will never be stopped by physics.

Here’s what I would do -

Create an actor, and attach the mesh as a component to it.
In its tick, do a collision sweep from the actors current position to where the motion controller is.
If there’s a collision, do not update the actors position. If there IS a collision, move the actor to where the controller is.

Does this make sense?