public void Pause()
        {
            if (downloadInfo?.isValid != true)
            {
                return;
            }

            if (state == DownloadState.Aborted || state == DownloadState.Completed || state == DownloadState.Error || state == DownloadState.Paused)
            {
                return;
            }

            m_State = DownloadState.Pausing;

            // Pause here is the same as aborting the download, but we don't delete the file so we can resume from where we paused it from
            if (!m_AssetStoreUtils.AbortDownload($"{k_AssetStoreDownloadPrefix}{m_ProductId}", downloadInfo.destination))
            {
                Debug.LogError(k_LocalizedAbortErrorMessage);
            }
        }