Quando si integra l'asset delivery, i giochi Unity possono accedere ai pacchetti di asset utilizzando Addressables o AssetBundles. Gli Addressable sono la soluzione di distribuzione degli asset più recente e consigliata per i giochi creati con Unity 2019.4 o versioni successive, mentre gli AssetBundle forniscono il supporto dei pacchetti di asset in Unity 2017.4 e 2018.4.
Unity Addressables
I giochi creati con Unity 2019.4 o versioni successive devono utilizzare Addressables per la distribuzione degli asset su Android. Unity fornisce un'API Play Asset Delivery (PAD) per la gestione dei pacchetti di asset Android utilizzando gli indirizzabili. Per informazioni sull'utilizzo degli Addressable, consulta le seguenti risorse:
- Pacchetto Addressables per Android
- Guida di PAD per Unity
- Documentazione di riferimento dell'API PAD per Unity
Utilizza i file AssetBundle
I giochi creati con Unity 2017.4 e 2018.4 possono utilizzare i file AssetBundle per la distribuzione degli asset su Android. I file AssetBundle di Unity contengono asset serializzati che possono essere caricati dal motore Unity mentre l'app è in esecuzione. Questi file sono specifici per la piattaforma (ad esempio, creati per Android) e possono essere utilizzati in combinazione con i pacchetti di asset. In genere, un file AssetBundle viene pacchettizzato in un unico pacchetto di asset, che utilizza lo stesso nome dell'AssetBundle. Se vuoi una maggiore flessibilità nella creazione di un pacchetto di asset, configuralo utilizzando l'API.
In fase di runtime, utilizza la classe Play Asset Delivery per Unity per recuperare un AssetBundle pacchettizzato in un pacchetto di asset.
Prerequisiti
- Configura l'ambiente di sviluppo:
OpenUPM-CLI
Se hai installato l'interfaccia a riga di comando OpenUPM, puoi installare il registry OpenUPM con il seguente comando:
openupm add com.google.play.assetdeliveryOpenUPM
Apri le impostazioni di Gestione pacchetti selezionando l'opzione di menu di Unity Modifica > Impostazioni progetto > Gestione pacchetti.
Aggiungi OpenUPM come registro con ambito alla finestra Package Manager:
Name: package.openupm.com URL: https://package.openupm.com Scopes: com.google.external-dependency-manager com.google.play.common com.google.play.core com.google.play.assetdelivery com.google.android.appbundleApri il menu di Gestione pacchetti selezionando l'opzione di menu di Unity Finestra > Gestione pacchetti.
Imposta il menu a discesa dell'ambito del gestore per selezionare I miei registri.
Seleziona il pacchetto Plug-in Google Play Integrity per Unity dall'elenco dei pacchetti e premi Installa.
Importa da GitHub
Scarica l'ultima release di
.unitypackageda GitHub.Importa il file
.unitypackageselezionando l'opzione di menu di Unity Assets > Import package > Custom Package (Asset > Importa pacchetto > Pacchetto personalizzato) e importando tutti gli elementi.
Configura gli AssetBundle utilizzando la UI
Configura ogni AssetBundle in un pacchetto di asset:
- Seleziona Google > Android App Bundle > Asset Delivery Settings.
- Per selezionare le cartelle che contengono direttamente i file AssetBundle, fai clic su Aggiungi cartella.
Per ogni bundle, modifica la modalità di pubblicazione in Install Time, Fast Follow o On Demand. Risolvi eventuali errori o dipendenze e chiudi la finestra.
Seleziona Google > Build Android App Bundle (Google > Crea Android App Bundle) per creare l'app bundle.
(Facoltativo) Configura l'app bundle in modo che supporti diversi formati di compressione delle texture.
Configura i pacchetti di asset utilizzando l'API
Puoi configurare la distribuzione degli asset tramite script dell'editor che possono essere eseguiti nell'ambito di un sistema di build automatizzato.
Utilizza la classe AssetPackConfig per definire quali asset includere in una build di Android App Bundle, nonché la modalità di pubblicazione degli asset. Questi pacchetti di asset non devono contenere un AssetBundle.
public void ConfigureAssetPacks {
// Creates an AssetPackConfig with a single asset pack, named
// examplePackName, containing all the files in path/to/exampleFolder.
var assetPackConfig = new AssetPackConfig();
assetPackConfig.AddAssetsFolder("examplePackName",
"path/to/exampleFolder",
AssetPackDeliveryMode.OnDemand);
// Configures the build system to use the newly created assetPackConfig when
// calling Google > Build and Run or Google > Build Android App Bundle.
AssetPackConfigSerializer.SaveConfig(assetPackConfig);
// Alternatively, use BundleTool.BuildBundle to build an App Bundle from script.
BuildBundle(new buildPlayerOptions(), assetPackConfig);
}
Puoi anche utilizzare il metodo statico BuildBundle nella classe Bundletool per generare un Android App Bundle con pacchetti di asset, dati BuildPlayerOptions e AssetPackConfig.
Per un tutorial guidato, consulta il codelab Utilizzo di Play Asset Delivery nei giochi Unity.
Esegui l'integrazione con l'API Unity di Play Asset Delivery
L'API Play Asset Delivery Unity fornisce la funzionalità per richiedere pacchetti di asset, gestire i download e accedere agli asset. Assicurati di aggiungere prima il plug-in Unity al progetto.
Le funzioni che utilizzi nell'API dipendono da come hai creato i pacchetti di asset.
Se hai creato pacchetti di asset utilizzando la UI del plug-in, seleziona Pacchetti di asset configurati dal plug-in.
Se hai creato pacchetti di asset utilizzando l'API (o l'interfaccia utente del plug-in), seleziona Pacchetti di asset configurati tramite API.
Passaggi successivi
Testa la distribuzione degli asset localmente e da Google Play.