Нужно разработать сайт, или сделать разовую поддержку сервера? Или перенести сайт?

Технический специалист всегда поможет, расскажет, исправит неисправляемое.

Сделай заказ прямо сейчас

Unity — Создание загрузки файла с удаленного ресурса URL

Подгрузка файлов в Unity играет ключевую роль, так как надо делать приложение которое весит 20МБ-40МБ, не более. Далее уже в фоновом режиме приложение должно начинать подгрузку нужных вам файлов и компонентов.

Включаем работу приложения в фоне, в главном событии Start() нашей сцены.

void Start () {
    Application.runInBackground = true;
}

Далее делаем уже подгрузку в нужной вам функции.

IEnumerator GetFile()
{
    // ссылка откуда качаем
    var wwwRequest = new UnityWebRequest("http://");
    wwwRequest.method = UnityWebRequest.kHttpVerbGET;
    // тут куда качаем наш файл в системе, обязательно использовать Application.persistentDataPath
    var dh = new DownloadHandlerFile(Application.persistentDataPath + "/audio.mp3");
    dh.removeFileOnAbort = true;
    wwwRequest.downloadHandler = dh;
    if(wwwRequest.isDone != true)
    {
        Debug.Log(wwwRequest.downloadProgress);
        Debug.Log(wwwRequest.isDone);
    }
    yield return wwwRequest.SendWebRequest();
    if (wwwRequest.isNetworkError || wwwRequest.isHttpError)
    {
        Debug.Log(wwwRequest.error);
    }
    else
    {
        Debug.Log("success");
    }
    
    yield return wwwRequest;
}

Вот и всё, теперь используем наш IEnumerator в функции.

public void publicToGetFile()
{
 StartCoroutine(this.GetFile());
}

И уже эту функцию вставляем в наш компонент допустим MainCamera, далее добавляем в Button (onClick) наш компонент MainCamera, выбираем функцию publicToGetFile.

По нажатию кнопки у нас происходит скачивание файла, причём не используйте WWW компонент, используйте UnityWebRequest который пришёл на замену, и имеет обход переполнения памяти на Android устройствах.

Оцените данную статью

КолДваТриЧетыреОтлично! (оценок еще нет, поставь?)