Unfortunately during implementing the top-down camera, I was running into a tonne of problems like wall clipping, rotational problems and camera collision.
So over the last week I have been creating a new camera system, This one is a third person over the shoulder. This system has proper collision detection so it almost never clips through walls.
I have also introduced a XP manager and GUI script that can be seen here injunction with camera: