Markers platform support
Discover which AR platforms support AR Foundation's marker subsystem.
The AR Foundation XRMarkerSubsystem is supported on the following platforms:
| Provider plug-in | Markers supported | Provider documentation |
|---|---|---|
| Google ARCore XR Plug-in | ||
| Apple ARKit XR Plug-in | ||
| Apple visionOS XR Plug-in | ||
| HoloLens | ||
| Unity OpenXR: Meta | ||
| Unity OpenXR: Android XR | ||
| XR Simulation |
Note
Currently Unity doesn't support any provider plug-ins that implement this feature, but we expect to release more support for these APIs in the future.
Check for support at runtime
Not all devices and platforms support every type of marker. Before building features that rely on a specific marker type, you should check whether the current device supports it. To check whether the current device supports a specific marker type, query the XRMarkerSubsystemDescriptor.supportedMarkerTypes property.
XRMarkerSubsystemDescriptor.supportedMarkerTypes returns a Result which indicates whether the platform supports marker tracking. If the platform supports marker tracking, XRMarkerSubsystemDescriptor.supportedMarkerTypes returns a ReadOnlyListSpan of the supported XRMarkerTypes.
The following code example shows how to check which marker types a platform supports:
void GetSupportedMarkerTypes(ARMarkerManager manager)
{
if (manager.subsystem is XRMarkerSubsystem markerSubsystem)
{
var result = markerSubsystem.subsystemDescriptor.supportedMarkerTypes;
if (result.status.IsError())
{
// Handle error
return;
}
var supportedMarkerTypes = result.value;
}
}