public static void BuildUpdate() { var path = ContentUpdateScript.GetContentStateDataPath(false); var m_Settings = AddressableAssetSettingsDefaultObject.Settings; AddressablesPlayerBuildResult result = ContentUpdateScript.BuildContentUpdate(AddressableAssetSettingsDefaultObject.Settings, path); Debug.Log("BuildFinish path = " + m_Settings.RemoteCatalogBuildPath.GetValue(m_Settings)); }
internal static void PrepareForPlayerbuild(AddressableAssetSettings settings, BuildPlayerContext buildPlayerContext, bool buildAddressables) { if (settings != null && buildAddressables) { AddressablesPlayerBuildResult result; if (BuildAddressablesOverride != null) { try { result = BuildAddressablesOverride.Invoke(settings); } catch (Exception e) { result = new AddressablesPlayerBuildResult(); result.Error = "Exception in BuildAddressablesOverride: " + e; } } else { AddressableAssetSettings.BuildPlayerContent(out result); } if (result != null && !string.IsNullOrEmpty(result.Error)) { Debug.LogError($"Failed to build Addressables content, content not included in Player Build. \"{result.Error}\""); } } if (buildPlayerContext != null) { var streamingAssetValues = GetStreamingAssetPaths(); foreach (KeyValuePair <string, string> streamingAssetValue in streamingAssetValues) { buildPlayerContext.AddAdditionalPathToStreamingAssets(streamingAssetValue.Key, streamingAssetValue.Value); } } string buildPath = Addressables.BuildPath + "/AddressablesLink/link.xml"; if (File.Exists(buildPath)) { string projectPath = GetLinkPath(settings, true); File.Copy(buildPath, projectPath, true); AssetDatabase.ImportAsset(projectPath, ImportAssetOptions.ForceSynchronousImport | ImportAssetOptions.DontDownloadFromCacheServer); } }
private static async void PerformAddressablesCleanBuild() { stopWatch = Stopwatch.StartNew(); UnityEngine.Debug.Log($"PerformAddressablesCleanBuild: {DateTime.UtcNow.ToLocalTime()}"); var settings = AddressableAssetSettingsDefaultObject.Settings; if (settings == null) { UnityEngine.Debug.LogError("AddressableDefaultObject Setting is null"); return; } var buildInput = new AddressablesDataBuilderInput( settings ); AddressablesPlayerBuildResult addressablesPlayerBuildResult = settings.ActivePlayerDataBuilder.BuildData <AddressablesPlayerBuildResult>(buildInput); await Task.Delay(TimeSpan.FromSeconds(addressablesPlayerBuildResult.Duration)); UnityEngine.Debug.Log($"Addressable build took {stopWatch.Elapsed.Seconds} seconds..."); }
public void Build_GroupWithPlayerDataGroupSchemaAndBundledAssetGroupSchema_LogsError() { const string groupName = "NewGroup"; var schemas = new List <AddressableAssetGroupSchema> { ScriptableObject.CreateInstance <PlayerDataGroupSchema>(), ScriptableObject.CreateInstance <BundledAssetGroupSchema>() }; AddressableAssetGroup group = Settings.CreateGroup(groupName, false, false, false, schemas); var context = new AddressablesDataBuilderInput(Settings); foreach (IDataBuilder db in Settings.DataBuilders) { if (db.CanBuildData <AddressablesPlayerBuildResult>()) { AddressablesPlayerBuildResult result = db.BuildData <AddressablesPlayerBuildResult>(context); Assert.AreEqual(result.Error, $"Addressable group {groupName} cannot have both a {typeof(PlayerDataGroupSchema).Name} and a {typeof(BundledAssetGroupSchema).Name}"); } } Settings.RemoveGroup(group); }