Unity hat am 8. Oktober 2018 die Async Upload Pipeline in der Beta von Unity 2018.3 erläutert. Sie überträgt neben Texturen nun auch unkomprimierte Meshes. Assets mit aktivierter Read-Write-Option nutzen diesen Ladeweg nicht.
Binärdaten aus .resS-Dateien gelangen über einen gemeinsamen Ringpuffer in zeitlich begrenzten Abschnitten zur GPU. QualitySettings.asyncUploadTimeSlice bestimmt das Zeitfenster pro Upload, asyncUploadBufferSize die Puffergröße und asyncUploadPersistentBuffer dessen Erhalt zwischen Ladevorgängen.
Beispieltest ist kein allgemeines Leistungsversprechen
Unity beschreibt einen Test mit einem Teil der Viking-Village-Szene auf einem MacBook Pro. Der Wechsel von 4 MB und 2 ms auf 16 MB und 4 ms beschleunigte dort Textur- und Mesh-Ladevorgänge laut Hersteller mindestens auf das Doppelte. Das gilt nicht für jedes Projekt oder die gesamte Ladezeit.
Die Release Notes der bereits am 3. Oktober erschienenen Beta 4 dokumentieren 16 MB als neuen Standardpuffer und die Persistent-Buffer-Option. Sie führen zugleich eine Verschlechterung beim asynchronen Szenenladen als bekannten Fehler auf.
Große Upload-Zeitfenster können Bildaussetzer verursachen. Synchron aufgerufene Ladefunktionen blockieren trotz Pipeline den Hauptthread bis zum Abschluss. Bereits im Juni hatte Unity einen Leitfaden zur Speicheranalyse vorgestellt. Auch beim Upload bleibt die Messung im Profiler entscheidend.

