ARCore camera passthrough renders green on Samsung Xclipse GPUs in UE 5.6 and 5.7

Summary

ARCore camera passthrough renders green on Samsung Xclipse GPUs in UE 5.6 and 5.7

On European Samsung Galaxy S22 and S24 devices using Xclipse 9xx GPUs (the S23 useres Snapdragon), the ARCore passthrough camera image is rendered almost entirely green in Vulkan builds. This reproduces in an untouched UE 5.7 Handheld AR Template as well as my UE 5.6 project. In constrast, when I built and deployed Google’s hello-vulkan-ar sample project to the same devices, the AR passthrough render was correct, so it seems like an Unreal integration issue.

AR tracking, plane hit-testing, anchors seem to continue to work though, in my project in 5.6 plane detection seemed to be affected by it.

What Type of Bug are you experiencing?

Platform Mobile

Steps to Reproduce

  1. Create a new project in Unreal Engine 5.7 using the Handheld AR Template, leaving the template content and rendering configuration unchanged.
  2. Package the project for Android using Vulkan and arm64.
  3. Install the resulting build on a European Samsung Galaxy S22, model SM-S901B, using Exynos 2200 with Xclipse 920 graphics and Android 16.
  4. Launch the application and grant camera permission.
  5. Move the phone until a horizontal surface is detected.
  6. Tap the detected surface to place the template mannequin.

The issue also reproduces on a European Galaxy S24, model SM-S921B, using Exynos 2400 with Xclipse 940 graphics.

Expected Result

The AR camera passthrough should display the camera image with correct colours. Detected planes, virtual geometry and UI should render over the normal camera background.

Observed Result

The camera background is rendered almost entirely green. Virtual geometry and UI render normally. Tracking and plane detection appear to remain functional: the template mannequin can be placed and remains correctly anchored on a detected horizontal surface, although the template’s transparent animated plane visualization was not visible.

The same green-feed problem occurs in my UE 5.6 Vulkan project on both the Galaxy S22/Xclipse 920 and Galaxy S24/Xclipse 940. The identical UE 5.6 Shipping APK renders the camera feed correctly on a Galaxy S20 SM-G980F using Mali graphics.

As a control test, I built Google’s official native hello_ar_vulkan_c sample and ran it on the same affected Galaxy S22. That sample produces a completely normal camera image; everything seemed to work there.

The affected S22 and S24 also use different Google Play Services for AR versions, so the issue is unlikely to be caused by one specific ARCore service release.

Affects Versions

5.7
5.6

Platform(s)

Android

Upload an image

Additional Notes

My understanding of mobile rendering is not deep enough but I have the impression that this may be related to UE-265363, “Return FGoogleARCoreXRTrackingSystem::OnGetARTexture with YCbCr colour conversion.”

I am willing to investigate and contribute to work on an engine-level fix if someone can provide pointers regarding the intended YCbCr conversion path, the relevant Vulkan external-texture handling, or the expected changes around FGoogleARCoreXRTrackingSystem::OnGetARTexture and M_ScreenSpacePassthroughCamera.