/// <summary>
            /// Helper method that the MLArucoTracker API uses to update the tracker's settings.
            /// </summary>
            /// <param name="settings">The settings to update the tracker with.</param>
            /// <returns>
            /// MLResult.Result will be <c>MLResult.Code.Ok</c> if successfully updated the ArUco Tracker settings.
            /// MLResult.Result will be <c>MLResult.Code.InvalidParam</c> if failed to update the settings due to invalid settings.
            /// MLResult.Result will be <c>MLResult.Code.PrivilegeDenied</c> if failed to update the settings due to lack of privilege(s).
            /// MLResult.Result will be <c>MLResult.Code.UnspecifiedFailure</c> if failed to update the settings due to an internal error.
            /// </returns>
            public static MLResult.Code UpdateSettings(MLArucoTracker.Settings settings)
            {
                MLArucoTrackerSettingsNative nativeSettings = MLArucoTrackerSettingsNative.Create();

                nativeSettings.Data = settings;
                MLResult.Code resultCode = NativeBindings.MLArucoTrackerUpdateSettings(Instance.Handle, in nativeSettings);
                return(resultCode);
            }
            /// <summary>
            /// Helper method that the MLArucoTracker API uses to create the tracker's internal handle.
            /// </summary>
            /// <param name="settings">The settings to configure the tracker with.</param>
            /// <returns>
            /// MLResult.Result will be <c>MLResult.Code.Ok</c> if successfully created ArUco tracker.
            /// MLResult.Result will be <c>MLResult.Code.InvalidParam</c> if failed to create ArUco tracker due to invalid handle.
            /// MLResult.Result will be <c>MLResult.Code.PrivilegeDenied</c> if failed to create tracker due to lack of privilege(s).
            /// MLResult.Result will be <c>MLResult.Code.UnspecifiedFailure</c> if failed to create the ArUco tracker due to an internal error.
            /// </returns>
            public static MLResult.Code CreateTracker(MLArucoTracker.Settings settings)
            {
                MLArucoTrackerSettingsNative nativeSettings = MLArucoTrackerSettingsNative.Create();

                nativeSettings.Data = settings;
                MLResult.Code resultCode = NativeBindings.MLArucoTrackerCreate(in nativeSettings, out ulong trackerHandle);
                Instance.Handle = trackerHandle;
                return(resultCode);
            }