Render Textures not working on certain devices

Hello! I’m developing a game where you pilot a primitive robot. The robot has a small video feed that is simulated using a RenderTexture. A camera on the drone outputs to a render texture which is built into my UI.

Additionally, the drone can take pictures. Here is the picture code:

 photoCount--;
 photoCamera.gameObject.SetActive(true);

 RenderTexture screenTexture = new RenderTexture(Screen.width, Screen.height, 16, RenderTextureFormat.RGB565);
 photoCamera.targetTexture = screenTexture;
 RenderTexture.active = screenTexture;
 photoCamera.Render();

 Texture2D photo = new Texture2D(Screen.width, Screen.height);
 photo.ReadPixels(new Rect(0, 0, Screen.width, Screen.height), 0, 0);
 photo.Apply();
 RenderTexture.active = null;

 consoleUI.Photo(photo);
 OnTakePhoto?.Invoke(Camera.main, new OnTakePhotoArgs(photo, photoCamera));

 consoleUI.NewMessage("Remaining Photos: " + photoCount);
 AudioManager.instance?.PlaySFX(photoSound);

 photoCamera.gameObject.SetActive(false);

The texture is then placed onto a render texture in the UI. It looks like this:

This is all good and well on my device, but on other computers sometimes either one or both of these will not render. I’ve been trying to figure this out for months and I’m not really sure what’s going on. Any help is greatly appreciated.