In addition to what I said here, you can learn more about ARKit Requirements for Image Tracking here.
Indicated Page by Apple, contains Xcode project, and you can play with it.
Be aware of image detection capabilities. Choose, design, and configure reference images for optimal reliability and performance:
-
Enter the physical size of the image in Xcode as accurately as possible. ARKit relies on this information to determine the distance of the image from the camera. Entering an incorrect physical size will result in an ARImageAnchor that’s the wrong distance from the camera.
-
Scoring for ARKit: When you add reference images to your asset catalog in Xcode, pay attention to the quality estimation warnings Xcode provides. Images with high contrast work best for image detection.
-
Use only images on flat surfaces for detection. If an image to be detected is on a nonplanar surface, like a label on a wine bottle, ARKit might not detect it at all, or might create an image anchor at the wrong location.
-
Consider how your image appears under different lighting conditions. If an image is printed on glossy paper or displayed on a device screen, reflections on those surfaces can interfere with detection.
As Apple’s Engineer said:
Not all images are equally suited for using them as ARReferenceImages. Good reference images typically have high contrast, good texture, clear edges, and are printed on a flat, non-glossy surface. Low-texture and low-contrast images will likely not work so well. When you add reference images to an ARResourceGroup in an Xcode asset catalog, Xcode will show quality estimation warnings, which may provide additional insights about the specific issue with that particular image.
In some cases, you can try using an image editing tool to tweak contrast, exposure, or emphasize edges. Depending on the subject, cropping may work as well. For example, a picture showing mostly a blue sky with a small airplane could be cropped to just the region showing the airplane. If you can’t get detection to work at all for a particular image, you probably need to consider replacing it.
Based on my experience, ARKit works better than ARCore in terms of Image Tracking. But personal results may vary, as always.
In theory, you can use a separate ReferenceImageLibrary for each platform using separate Scenes or separate ARTrackedImageManager.
And this can be a Feature Request to assign a separate image for each platform inside the only “entity” in the library @andyb-unity