Non-main cameras not rendering on phone

I have 3 cameras in my scene, and 1 main canvas

  1. Main Camera - depth 0, perspective, culling mask everything except UI and UI_Particles - this camera follows the player around the world.
  2. UI Camera - depth 1, orthographic, culling mask UI - camera is stationary
  3. UI Particle Camera - depth 2, orthographic, culling mask UI_Particles - camera is stationary

When I play test through the unity editor, everything renders fine - however, building to my phone some things stop working

  • If I set the canvas to screen space - overlay, enemy health indicators (which are in the UI) appear where they should. If it is set to screen space - camera, I do not see any health indicators (problem appears on the phone, in the editor it works in either screen space)

  • If I set the canvas to screen space - overlay, I do not see any UI_Particles. If it is set to screen space - camera, Particles appear (again, problem appears on the phone, in the editor it works in either screen space, however particles appear behind UI layer because it is set to overlay, which is a problem)

I need the canvas screen space to be set to camera so I can render UI effects in from of UI objects, but when this is set, my enemy health indicators don’t show up when I build to my phone - again, the problem is not there when I play the game through unity.

Not sure where to begin troubleshooting

the issue was not that the objects weren’t being rendered, but that they were not on screen. due to the canvas scaling and camera to target raycast position setting, i needed to add a significant offset which i found by creating two public floats which were added to the objects position, and adjusted during runtime to find the correct offset