pick object and pass through other object

i want to pick up object .but when i picked up my object pass through other object and walls .here is my code.what should i do?

#pragma strict

private var pickObj : Transform = null;
private var hit : RaycastHit;
private var dist : float;
private var newPos : Vector3;
private var  canPush: boolean=false;


function Update () {
 

    if (Input.GetMouseButton (0)) {

       var ray = Camera.main.ScreenPointToRay (Input.mousePosition);

       if (!pickObj) {

         if (Physics.Raycast(ray, hit) && hit.transform.tag == "Pick") {

          if (hit.rigidbody) hit.rigidbody.velocity = Vector3.zero;
          pickObj = hit.transform;
          dist = Vector3.Distance (pickObj.position, Camera.main.transform.position);
         }
       }

       else {
        
        newPos = ray.GetPoint(dist);
        pickObj.rigidbody.MovePosition(newPos);
        
       }    
       if(canPush){ pickObj.rigidbody.MovePosition(newPos); }
    }

    else {
       pickObj = null;
    }
     
}

function OnCollisionEnter (col : Collision) {

if(col.gameObject.tag == "wall") {

canPush = true; } }

Disable the collider as soon as you pick it and re-enable when you release.

As @Henrique Vilela said…you just need to deactivate the colliders…
pickObj.GetComponent(BoxCollider).enabled = false …or something like that…

if its a box collider…or just type whatever the type is