Gun clipping through walls in third person shooter

I’m currently making a third person shooter, and I have some issues with the gun and arms of my character clipping through walls. I’ve noticed that in some third person shooter they draw the character and gun on top of everything else when you aim, like they do in FPS games, but rendering with multiple cameras screws up the image effects. I put up a post about it, but I never found a solution.

I’m able to detect when the gun clips by putting a trigger on it, but I’m not sure how to use this information. If I move the gun then I can no detect if it will clip.

Does anyone know how to avoid having the gun and arms clip through walls in a third person shooter?

I’m not good in writing shaders but afaik you could use your custom shader for the gun and hands to draw them on top of other objects:

SubShader {
    Tags {"Queue"="Overlay" "RenderType"="Opaque"}
    ZTest Always
    ...

Sources:

http://docs.unity3d.com/Documentation/Components/SL-SubshaderTags.html
http://docs.unity3d.com/Documentation/Components/SL-CullAndDepth.html