Pickup Doesn't Pick up

I created a different look for the example FPS's health pickup Prefab out of basic transformed shapes from the Game object menu. I didn't want it to animate, i just wanted it to act like a regular object, so i added a rigidbody and a capsule collider. It works pretty well when just laying around, but when I apply the script, it uses the collider I made for something, and it automatically clicks "is Trigger" on that collider. I added another collider to a different part of the pickup ( a different shape ), but now its really hard to actually pick up. It seems to work sometimes when i drop it on the FPS Walker Preset's head, but I need it to be accesible from all angles and trajectories and everything. So does the pickup script use the actual object or the collider to determine when the player gets the health, or what is the problem with my approach?

Do what Skjalg said, except with one slight change that makes all the difference - make the new collider trigger the parent of your pickup. That way, when it's deleted, it kills the children - the pickup part.

You need to have the collider (so it collides with the world) attached to the rigidbody. Then you make a child object and attach the pickup script there, which then creates a new collider (trigger), now make this trigger-collider bigger than the parents world-collider and it should work.

If it is just a pickup your after what I did is add a box collider to an object and added this script to the player not the object:-

    function OnControllerColliderHit(hit:ControllerColliderHit)
    {   
        if(hit.gameObject.tag == "key")
        {   
            Debug.Log("You picked up the key!");
            Destroy(hit.gameObject);
}

if you want it to unlock somehthing add this to the bottom

    var key : boolean = true; 
     audio.clip = keySound;
        audio.Play();
level_block = GameObject.Find("PortalBlock");
Destroy(level_block.gameObject);  
    }
    }