-
-
Save xuyennguyen/aa0a5e33d23309e379a71df24b3835d4 to your computer and use it in GitHub Desktop.
Build addressable bundles when clicking the build button
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// <summary> | |
/// The script gives you choice to whether to build addressable bundles when clicking the build button. | |
/// For custom build script, call PreExport method yourself. | |
/// For cloud build, put BuildAddressablesProcessor.PreExport as PreExport command. | |
/// Discussion: https://forum.unity.com/threads/how-to-trigger-build-player-content-when-build-unity-project.689602/ | |
/// | |
/// License: The MIT License https://opensource.org/licenses/MIT | |
/// </summary> | |
using UnityEditor; | |
using UnityEditor.AddressableAssets; | |
using UnityEditor.AddressableAssets.Settings; | |
using UnityEngine; | |
using System.Collections; | |
class BuildAddressablesProcessor | |
{ | |
/// <summary> | |
/// Run a clean build before export. | |
/// </summary> | |
static public void PreExport() | |
{ | |
Debug.Log("BuildAddressablesProcessor.PreExport start"); | |
AddressableAssetSettings.CleanPlayerContent( | |
AddressableAssetSettingsDefaultObject.Settings.ActivePlayerDataBuilder); | |
AddressableAssetSettings.BuildPlayerContent(); | |
Debug.Log("BuildAddressablesProcessor.PreExport done"); | |
} | |
[InitializeOnLoadMethod] | |
private static void Initialize() | |
{ | |
BuildPlayerWindow.RegisterBuildPlayerHandler(BuildPlayerHandler); | |
} | |
private static void BuildPlayerHandler(BuildPlayerOptions options) | |
{ | |
if (EditorUtility.DisplayDialog("Build with Addressables", | |
"Do you want to build a clean addressables before export?", | |
"Build with Addressables", "Skip")) | |
{ | |
PreExport(); | |
} | |
BuildPlayerWindow.DefaultBuildMethods.BuildPlayer(options); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment