private void OnPeripheralStateChange(object sender, PeripheralStateChangeEventArgs eventArguments)
        {
            Sdk.Logger.Log("Is " + eventArguments.Peripheral.Name + " Connected? " + eventArguments.Connected);

            if (eventArguments.Peripheral is ControllerPeripheral)
            {
                // stopping the pairing process
                Sdk.Tracking.StopPairing();
            }
            else if (eventArguments.Peripheral is HmdPeripheral)
            {
                if (eventArguments.Peripheral.Connected)
                {
                    KpiTracking.TrackSceneLoadTime();

                    // dispatching the HMD connected event
                    if (StereoSetupEvents.OnHmdConnected != null)
                    {
                        StereoSetupEvents.OnHmdConnected();
                    }
                }
                else
                {
                    // dispatching the HMD disconnected event
                    if (StereoSetupEvents.OnHmdDisconnected != null)
                    {
                        StereoSetupEvents.OnHmdDisconnected();
                    }
                }
            }
        }
        private void DispatchSetupEvents()
        {
            // dispatching bluetooth state event
            if (StereoSetupEvents.OnBluetoothStateUpdate != null)
            {
                StereoSetupEvents.OnBluetoothStateUpdate(isBluetoothEnabled);
            }

            // dispatching muted state event
            if (StereoSetupEvents.OnMutedStateUpdate != null)
            {
                StereoSetupEvents.OnMutedStateUpdate(Container.NativeSettings.IsMuted());
            }

            // checking if peripheral has auto connected
            if (IsControllerConnected)
            {
                // dispatching the peripheral connected event
                if (StereoSetupEvents.OnPeripheralConnected != null)
                {
                    StereoSetupEvents.OnPeripheralConnected();
                }
            }
            else
            {
                // dispatching the peripheral connected event
                if (StereoSetupEvents.OnPeripheralDisconnected != null)
                {
                    StereoSetupEvents.OnPeripheralDisconnected();
                }
            }

            // dispatching volume event
            if (StereoSetupEvents.OnVolumeChanged != null)
            {
                StereoSetupEvents.OnVolumeChanged.Invoke(Container.NativeSettings.GetVolume());
            }
        }