/// <summary> /// Queries the supported camera configurations. /// </summary> /// <param name="defaultCameraConfiguration">A default value used to fill the returned array before copying /// in real values. This ensures future additions to this struct are backwards compatible.</param> /// <param name="allocator">The allocation strategy to use for the returned data.</param> /// <returns> /// The supported camera configurations. /// </returns> public override NativeArray <XRCameraConfiguration> GetConfigurations(XRCameraConfiguration defaultCameraConfiguration, Allocator allocator) { int configurationsCount; int configurationSize; IntPtr configurations = NativeApi.UnityARKit_Camera_AcquireConfigurations(out configurationsCount, out configurationSize); try { unsafe { return(NativeCopyUtility.PtrToNativeArrayWithDefault(defaultCameraConfiguration, (void *)configurations, configurationSize, configurationsCount, allocator)); } } finally { NativeApi.UnityARKit_Camera_ReleaseConfigurations(configurations); } }