Camera with background hides game

I am using three cameras to render the background, the UI and everything else (game level, player, etc.)

I am using two canvas’ for both UI and background, and changing their sort layers works fine when it comes to ordering, but both of the canvas’ hide the player, game level and other objects.
Main Camera and UI Camera:

1.Depth set to 2 and 3 respectively

2.Clearing set to Don’t Clear

Background Camera:

1.Depth set to 1

2.Clearing set to Skybox

Is there a better approach to rendering layers? Should I only use one camera? Any help is very appreciated.

You should be using a skybox for the background, or at least anything other than UI like a plane with a script for render queue so it renders behind everything.

GetComponent<Renderer>().material.renderQueue = 0 - 5000;