Skip to content

Commit 6e54fcd

Browse files
author
Unity Technologies
committed
com.unity.addressables@2.7.2
## [2.7.2] - 2025-08-11 - Fixed issue where builds were failing in Unity Cloud Build due to hash collisions in Addressables during dependency resolution. - Fixed an issue where remote binary catalogs would mistakenly be listed as having the .json file extension in the Build Report summary tab.
1 parent 7e648bd commit 6e54fcd

File tree

11 files changed

+171
-42
lines changed

11 files changed

+171
-42
lines changed

.attestation.p7m

2 Bytes
Binary file not shown.

.signature

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"timestamp":1754074437,"signature":"ZRIGLoObRZp0cvoczlhsInLIHzoGLO4WArXW2cuOfY/PTHYWK/9HPUk4fj4O0LoWJByI4ugjsq/mwNMedbXS86Pq7vVTjvMNDCZa/b0bCz2ydakA02rngLmNzCN3b+GN472oQNJrmxTdDP1aHIs7wHqwVmNDhrhbSb9L7LVprL080gMRIWQ+j/Bsy0Y3nBO0LbhJKATSnd8DdJEJq+WVygpzATaYOiU0C4UjnGsl6LcS4umI0ibFw6uKfVRrCxVGNxoAEOPbaUpX4Ea7P0RvZqyMNPR5ZXtNsZ5Vxq+m2fjC2l1dLs9GwahiE+6D2PPfNP8RDfy5QuE1W1QJm1rH+3slLh4P62acWGg/tTHxoISFNYyE+Hb9+YOSLIJKCit3tS1M4uTw6KGI6HHrTviSxHs3R48IhVZJIL37iNof2XeaALyiHRl7ojbL/QQKdUCT7MjfS91LQi3n6N92tqO0rK/NUob5bXd+uM8cgyof0rkf2np93WlwmUo6XjvLhdzW","publicKey":"LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQm9qQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FZOEFNSUlCaWdLQ0FZRUFzdUhXYUhsZ0I1cVF4ZEJjTlJKSAordHR4SmoxcVY1NTdvMlZaRE1XaXhYRVBkRTBEMVFkT1JIRXNSS1RscmplUXlERU83ZlNQS0ZwZ1A3MU5TTnJCCkFHM2NFSU45aHNQVDhOVmllZmdWem5QTkVMenFkVmdEbFhpb2VpUnV6OERKWFgvblpmU1JWKytwbk9ySTRibG4KS0twelJlNW14OTc1SjhxZ1FvRktKT0NNRlpHdkJMR2MxSzZZaEIzOHJFODZCZzgzbUovWjBEYkVmQjBxZm13cgo2ZDVFUXFsd0E5Y3JZT1YyV1VpWXprSnBLNmJZNzRZNmM1TmpBcEFKeGNiaTFOaDlRVEhUcU44N0ZtMDF0R1ZwCjVNd1pXSWZuYVRUemEvTGZLelR5U0pka0tldEZMVGdkYXpMYlpzUEE2aHBSK0FJRTJhc0tLTi84UUk1N3UzU2cKL2xyMnZKS1IvU2l5eEN1Q20vQWJkYnJMbXk0WjlSdm1jMGdpclA4T0lLQWxBRWZ2TzV5Z2hSKy8vd1RpTFlzUQp1SllDM0V2UE16ZGdKUzdGR2FscnFLZzlPTCsxVzROY05yNWdveVdSUUJ0cktKaWlTZEJVWmVxb0RvSUY5NHpCCndGbzJJT1JFdXFqcU51M3diMWZIM3p1dGdtalFra3IxVjJhd3hmcExLWlROQWdNQkFBRT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg"}
1+
{"timestamp":1755110234,"signature":"caTkpIsYZmAH3POuid2zZtc5w5gdhBxk8DcVqbBaPKn7iGQ1BrrhAydBiNTZGJN8JPIjhrJxMgUQ+fZ1w551Fmu9s1VFL0YYmFjr3Os+wo9kjZNKkELZTruOl6fBzpF+4R78J669kPBoNUqu6hsGRzrnKsIvpPUwqF5/e55qxOJuaZcJV6uUsFHKTFHMmcEeQm9mmN7o+rdKqVxmwOPcAoQcNrJdKdqqBa/EDSvYYXgtuBv9N4KSU3IkPg8GqdQJncBUeuRqOHzAfN/iJVyqDflhtOHyV1Mosve8i8OVellaXeEKbDqkAd9dcdT9LyYeizB7LAT8qV51riyFdNhPkjN6mOqd9WJx3gCunjpAap25+tML7TOVr7N8HjHfqVP8mH9zukM6MmdStcip2r7IvjhXx0/vzsOoweie5E/RzWGItvubV2WF1TXHZabn0wIGptxlEfFhrvL0FHvWXt7gwTZLkyXC/3QUy3hYxC+gjX3buCgpaBPKQh1YvcE00eaV","publicKey":"LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQm9qQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FZOEFNSUlCaWdLQ0FZRUFzdUhXYUhsZ0I1cVF4ZEJjTlJKSAordHR4SmoxcVY1NTdvMlZaRE1XaXhYRVBkRTBEMVFkT1JIRXNSS1RscmplUXlERU83ZlNQS0ZwZ1A3MU5TTnJCCkFHM2NFSU45aHNQVDhOVmllZmdWem5QTkVMenFkVmdEbFhpb2VpUnV6OERKWFgvblpmU1JWKytwbk9ySTRibG4KS0twelJlNW14OTc1SjhxZ1FvRktKT0NNRlpHdkJMR2MxSzZZaEIzOHJFODZCZzgzbUovWjBEYkVmQjBxZm13cgo2ZDVFUXFsd0E5Y3JZT1YyV1VpWXprSnBLNmJZNzRZNmM1TmpBcEFKeGNiaTFOaDlRVEhUcU44N0ZtMDF0R1ZwCjVNd1pXSWZuYVRUemEvTGZLelR5U0pka0tldEZMVGdkYXpMYlpzUEE2aHBSK0FJRTJhc0tLTi84UUk1N3UzU2cKL2xyMnZKS1IvU2l5eEN1Q20vQWJkYnJMbXk0WjlSdm1jMGdpclA4T0lLQWxBRWZ2TzV5Z2hSKy8vd1RpTFlzUQp1SllDM0V2UE16ZGdKUzdGR2FscnFLZzlPTCsxVzROY05yNWdveVdSUUJ0cktKaWlTZEJVWmVxb0RvSUY5NHpCCndGbzJJT1JFdXFqcU51M3diMWZIM3p1dGdtalFra3IxVjJhd3hmcExLWlROQWdNQkFBRT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg"}

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ All notable changes to this package will be documented in this file.
33

44
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
55
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6+
## [2.7.2] - 2025-08-11
7+
- Fixed issue where builds were failing in Unity Cloud Build due to hash collisions in Addressables during dependency resolution.
8+
- Fixed an issue where remote binary catalogs would mistakenly be listed as having the .json file extension in the Build Report summary tab.
9+
610
## [2.7.0] - 2025-07-30
711
- Fixed issue where strikethrough appears on labels when reordering addressables labels in the labels window.
812
- Changed GetDownloadSizeAsync to actually use an AsyncOperation and run the calculation as part of a coroutine.

Editor/BuildReportVisualizer/MainPanelSummaryTab.cs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,16 @@ public void Consume(BuildLayout buildReport)
6565
HashSet<string> remoteCatalogNames = new HashSet<string>();
6666
HashSet<string> localCatalogNames = new HashSet<string>();
6767

68-
foreach (var catalog in buildReport.AddressablesRuntimeSettings.CatalogLoadPaths)
68+
string catalogFileExt = buildReport.AddressablesEditorSettings.EnableJsonCatalog ? ".json" : ".bin";
69+
70+
foreach (var catalogPath in buildReport.AddressablesRuntimeSettings.CatalogLoadPaths)
6971
{
70-
string name = Path.GetFileName(catalog);
71-
if (name.EndsWith(".hash"))
72-
remoteCatalogNames.Add(name.Replace(".hash", ".json"));
72+
string catalogFileName = Path.GetFileName(catalogPath);
73+
74+
if (Path.GetExtension(catalogFileName).Equals(".hash"))
75+
remoteCatalogNames.Add(Path.ChangeExtension(catalogFileName, catalogFileExt));
7376
else
74-
localCatalogNames.Add(name);
77+
localCatalogNames.Add(catalogFileName);
7578
}
7679

7780
SummaryRowBuilder generalInfo = new SummaryRowBuilder("General Information");
@@ -94,11 +97,11 @@ public void Consume(BuildLayout buildReport)
9497
if (buildReport.DuplicatedAssets.Count > 0)
9598
{
9699
ulong duplicatedSize = 0;
97-
foreach (var dupeAsset in m_HelperConsumer.GUIDToDuplicateAssets.Values)
100+
foreach (var dupeAsset in m_HelperConsumer.GUIDToDuplicateAssets.Values)
98101
{
99102
int duplicationCount = dupeAsset.GUIDToReferencingAssets.Count;
100103
if (duplicationCount > 1)
101-
duplicatedSize += (ulong) (duplicationCount - 1) * (dupeAsset.Asset.SerializedSize + dupeAsset.Asset.StreamedSize);
104+
duplicatedSize += (ulong)(duplicationCount - 1) * (dupeAsset.Asset.SerializedSize + dupeAsset.Asset.StreamedSize);
102105
}
103106

104107
SummaryRowBuilder duplicatedAssets = new SummaryRowBuilder("Potential Issues")

Editor/Settings/AddressableAssetUtility.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -498,10 +498,8 @@ internal static bool RemoveCCDPackage()
498498
var confirm = EditorUtility.DisplayDialog("Remove CCD Management SDK Package", "Are you sure you want to remove the CCD Management SDK package?", "Yes", "No");
499499
if (confirm)
500500
{
501-
#if (UNITY_2019_4_OR_NEWER)
502501
Client.Remove("com.unity.services.ccd.management");
503502
AddressableAssetSettingsDefaultObject.Settings.CCDEnabled = false;
504-
#endif
505503
}
506504

507505
return AddressableAssetSettingsDefaultObject.Settings.CCDEnabled;

Editor/Settings/GroupSchemas/BundledAssetGroupSchema.cs

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1107,12 +1107,19 @@ void ShowAdvancedProperties(SerializedObject so)
11071107
Undo.RecordObject(so.targetObject, so.targetObject.name + nameof(BundleNaming));
11081108
BundleNaming = bundleNaming;
11091109
}
1110+
EditorGUI.BeginDisabledGroup(settings.UseUnityWebRequestForLocalBundles);
1111+
EditorGUI.BeginChangeCheck();
1112+
bool stripDLOptions = EditorGUILayout.Toggle(m_StripDownloadOptionsContent, StripDownloadOptions);
1113+
if (EditorGUI.EndChangeCheck())
1114+
{
1115+
Undo.RecordObject(so.targetObject, so.targetObject.name + nameof(StripDownloadOptions));
1116+
StripDownloadOptions = stripDLOptions;
1117+
}
1118+
EditorGUI.EndDisabledGroup();
11101119
}
11111120
GUILayout.Space(m_PostBlockContentSpace);
11121121

1113-
EditorGUI.BeginDisabledGroup(settings.UseUnityWebRequestForLocalBundles);
1114-
EditorGUILayout.PropertyField(so.FindProperty(nameof(m_StripDownloadOptions)), m_StripDownloadOptionsContent, true);
1115-
EditorGUI.EndDisabledGroup();
1122+
11161123
EditorGUILayout.PropertyField(so.FindProperty(nameof(m_IncludeAddressInCatalog)), m_IncludeAddressInCatalogContent, true);
11171124
EditorGUILayout.PropertyField(so.FindProperty(nameof(m_IncludeGUIDInCatalog)), m_IncludeGUIDInCatalogContent, true);
11181125
EditorGUILayout.PropertyField(so.FindProperty(nameof(m_IncludeLabelsInCatalog)), m_IncludeLabelsInCatalogContent, true);
@@ -1209,11 +1216,6 @@ void ShowAdvancedPropertiesMulti(SerializedObject so, List<AddressableAssetGroup
12091216
ShowSelectedPropertyDefaultSettingsMulti(so, otherBundledSchemas, ref queuedChanges);
12101217
GUILayout.Space(m_PostBlockContentSpace);
12111218

1212-
EditorGUI.BeginDisabledGroup(settings.UseUnityWebRequestForLocalBundles);
1213-
ShowSelectedPropertyMulti(so, nameof(m_StripDownloadOptions), m_StripDownloadOptionsContent, otherSchemas, ref queuedChanges,
1214-
(src, dst) => dst.StripDownloadOptions = src.StripDownloadOptions, ref m_StripDownloadOptions);
1215-
EditorGUI.EndDisabledGroup();
1216-
12171219
ShowSelectedPropertyMulti(so, nameof(m_IncludeAddressInCatalog), m_IncludeAddressInCatalogContent, otherSchemas, ref queuedChanges,
12181220
(src, dst) => dst.IncludeAddressInCatalog = src.IncludeAddressInCatalog, ref m_IncludeAddressInCatalog);
12191221
ShowSelectedPropertyMulti(so, nameof(m_IncludeGUIDInCatalog), m_IncludeGUIDInCatalogContent, otherSchemas, ref queuedChanges,
@@ -1564,6 +1566,15 @@ void ShowSelectedPropertyDefaultSettingsMulti(SerializedObject so, List<BundledA
15641566
if (EditorGUI.EndChangeCheck())
15651567
AddQueuedChanges(ref queuedChanges, (src, dst) => src.BundleNaming = dst.BundleNaming = bundleNaming);
15661568
EditorGUI.showMixedValue = false;
1569+
1570+
1571+
ShowMixedValue(this, otherBundledSchemas, (a, b) => a.StripDownloadOptions != b.StripDownloadOptions);
1572+
EditorGUI.BeginChangeCheck();
1573+
bool stripDLOptions = EditorGUILayout.Toggle(m_StripDownloadOptionsContent, StripDownloadOptions);
1574+
if (EditorGUI.EndChangeCheck())
1575+
AddQueuedChanges(ref queuedChanges, (src, dst) => src.StripDownloadOptions = dst.StripDownloadOptions = stripDLOptions);
1576+
EditorGUI.showMixedValue = false;
1577+
15671578
}
15681579
}
15691580

@@ -1793,7 +1804,7 @@ public Dictionary<DefaultSchemaSettingsBuildTargetGroup, DefaultSchemaSettings[]
17931804
androidLocalSettings.useAssetBundleCrc = false;
17941805
androidLocalSettings.useAssetBundleCrcForCachedBundles = false;
17951806
androidLocalSettings.bundleNaming = BundleNamingStyle.AppendHash;
1796-
androidLocalSettings.stripDownloadOptions = true;
1807+
androidLocalSettings.stripDownloadOptions = false;
17971808

17981809
DefaultSchemaSettings androidRemoteSettings;
17991810
androidRemoteSettings.compression = BundleCompressionMode.LZMA;

Runtime/ResourceLocators/ContentCatalogData.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -977,7 +977,7 @@ internal int CalculateCollectedHash(List<object> objects, Dictionary<int, object
977977

978978
internal static int GetHashCodeForEnumerable(IEnumerable<object> set)
979979
{
980-
int hash = 0;
980+
int hash = 17;
981981
foreach (object o in set)
982982
hash = hash * 31 + o.GetHashCode();
983983
return hash;

Runtime/ResourceManager/ResourceProviders/AssetBundleProvider.cs

Lines changed: 67 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -223,13 +223,11 @@ public virtual long ComputeSize(IResourceLocation location, ResourceManager reso
223223
return 0;
224224
var locHash = Hash128.Parse(Hash);
225225
#if ENABLE_CACHING
226-
if (locHash.isValid) //If we have a hash, ensure that our desired version is cached.
227-
{
228-
if (Caching.IsVersionCached(new CachedAssetBundle(BundleName, locHash)))
229-
return 0;
230-
return BundleSize;
231-
}
232-
#endif //ENABLE_CACHING
226+
//If we have a hash, ensure that our desired version is cached.
227+
if (locHash.isValid
228+
&& Caching.IsVersionCached(new CachedAssetBundle(BundleName, locHash)))
229+
return 0;
230+
#endif
233231
return BundleSize;
234232
}
235233
}
@@ -260,11 +258,28 @@ public enum LoadType
260258
Web
261259
}
262260

261+
internal enum CacheStatus
262+
{
263+
/// <summary>
264+
/// cache status has not been determined yet
265+
/// </summary>
266+
Unknown,
267+
/// <summary>
268+
/// the bundle is cached
269+
/// </summary>
270+
Cached,
271+
/// <summary>
272+
/// the bundle is not cached
273+
/// </summary>
274+
NotCached
275+
}
276+
263277
AssetBundle m_AssetBundle;
264278
AsyncOperation m_RequestOperation;
265279
internal WebRequestQueueOperation m_WebRequestQueueOperation;
266280
internal ProvideHandle m_ProvideHandle;
267281
internal AssetBundleRequestOptions m_Options;
282+
internal CacheStatus cacheStatus;
268283

269284
[NonSerialized]
270285
bool m_RequestCompletedCallbackCalled = false;
@@ -296,7 +311,7 @@ internal long BytesToDownload
296311
{
297312
if (m_BytesToDownload == -1)
298313
{
299-
if (m_Options != null)
314+
if (m_Options != null && !IsCached())
300315
m_BytesToDownload = m_Options.ComputeSize(m_ProvideHandle.Location, m_ProvideHandle.ResourceManager);
301316
else
302317
m_BytesToDownload = 0;
@@ -306,6 +321,29 @@ internal long BytesToDownload
306321
}
307322
}
308323

324+
internal bool IsCached()
325+
{
326+
#if !ENABLE_CACHING
327+
return false;
328+
#else
329+
330+
if (cacheStatus != CacheStatus.Unknown)
331+
return cacheStatus == CacheStatus.Cached;
332+
333+
// only do this if the CacheStatus is unknown
334+
cacheStatus = CacheStatus.NotCached;
335+
var hash = Hash128.Parse(m_Options.Hash);
336+
if (hash.isValid)
337+
{
338+
CachedAssetBundle cachedBundle = new CachedAssetBundle(m_Options.BundleName, hash);
339+
bool cached = Caching.IsVersionCached(cachedBundle);
340+
if (cached)
341+
cacheStatus = CacheStatus.Cached;
342+
}
343+
return cacheStatus == CacheStatus.Cached;
344+
#endif
345+
}
346+
309347
internal UnityWebRequest CreateWebRequest(IResourceLocation loc)
310348
{
311349
var url = m_ProvideHandle.ResourceManager.TransformInternalId(loc);
@@ -334,17 +372,13 @@ internal UnityWebRequest CreateWebRequest(string url)
334372
UnityWebRequest webRequest;
335373
if (!string.IsNullOrEmpty(m_Options.Hash))
336374
{
375+
bool cached = IsCached();
337376
CachedAssetBundle cachedBundle = new CachedAssetBundle(m_Options.BundleName, Hash128.Parse(m_Options.Hash));
338-
#if ENABLE_CACHING
339-
bool cached = Caching.IsVersionCached(cachedBundle);
340377
m_Source = cached ? BundleSource.Cache : BundleSource.Download;
341378
if (m_Options.UseCrcForCachedBundle || m_Source == BundleSource.Download)
342379
webRequest = UnityWebRequestAssetBundle.GetAssetBundle(uri, cachedBundle, m_Options.Crc);
343380
else
344381
webRequest = UnityWebRequestAssetBundle.GetAssetBundle(uri, cachedBundle);
345-
#else
346-
webRequest = UnityWebRequestAssetBundle.GetAssetBundle(uri, cachedBundle, m_Options.Crc);
347-
#endif
348382
}
349383
else
350384
{
@@ -607,24 +641,39 @@ private void BeginOperation()
607641
m_DownloadedBytes = 0;
608642
m_RequestCompletedCallbackCalled = false;
609643
GetLoadInfo(m_ProvideHandle, out LoadType loadType, out m_TransformedInternalId);
644+
bool isDownloadOnly = m_ProvideHandle.Location is DownloadOnlyLocation;
610645

611646
if (loadType == LoadType.Local)
612647
{
613648
//download only bundles loads should not load local bundles
614-
if (m_ProvideHandle.Location is DownloadOnlyLocation)
649+
if (isDownloadOnly)
615650
{
616651
m_Source = BundleSource.Local;
617652
m_RequestOperation = null;
618653
m_ProvideHandle.Complete<AssetBundleResource>(null, true, null);
619654
m_Completed = true;
655+
return;
620656
}
621-
else
622-
{
623-
LoadLocalBundle();
624-
}
657+
LoadLocalBundle();
625658
return;
626659
}
627660

661+
bool forceWebRequest = m_Options.UseCrcForCachedBundle;
662+
CachedAssetBundle cachedBundle = new CachedAssetBundle(m_Options.BundleName, Hash128.Parse(m_Options.Hash));
663+
bool cached = IsCached();
664+
// so if this is download only and we do not need to check CRC and we have a cached version,
665+
// we should do nothing
666+
bool skipWebDownload = loadType == LoadType.Web && isDownloadOnly && cached && !forceWebRequest;
667+
if (skipWebDownload)
668+
{
669+
m_Source = BundleSource.Cache;
670+
m_RequestOperation = null;
671+
m_ProvideHandle.Complete<AssetBundleResource>(null, true, null);
672+
m_Completed = true;
673+
return;
674+
}
675+
676+
628677
if (loadType == LoadType.Web)
629678
{
630679
m_WebRequestQueueOperation = EnqueueWebRequest(m_TransformedInternalId);
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
using System.Collections.Generic;
2+
using System.IO;
3+
using NUnit.Framework;
4+
using UnityEngine;
5+
using UnityEngine.ResourceManagement.AsyncOperations;
6+
7+
#if UNITY_EDITOR
8+
using UnityEditor;
9+
using UnityEditor.AddressableAssets.Settings;
10+
using UnityEditor.AddressableAssets.Settings.GroupSchemas;
11+
#endif
12+
13+
namespace AddressableTests
14+
{
15+
public class StripDownloadOptionsTests : AddressablesTestFixture
16+
{
17+
protected string m_PrefabKey = "key";
18+
19+
#if UNITY_EDITOR
20+
private AddressableAssetSettings m_settingsInstance;
21+
protected AddressableAssetSettings m_Settings
22+
{
23+
get
24+
{
25+
if (m_settingsInstance == null)
26+
m_settingsInstance = AssetDatabase.LoadAssetAtPath<AddressableAssetSettings>(Path.Combine(GetGeneratedAssetsPath(), "Settings", "AddressableAssetSettings.Tests.asset"));
27+
return m_settingsInstance;
28+
}
29+
}
30+
internal override void Setup(AddressableAssetSettings settings, string tempAssetFolder)
31+
{
32+
AddressableAssetGroup syncGroup = settings.CreateGroup("StrippedOptions", false, false, true,
33+
new List<AddressableAssetGroupSchema>(), typeof(BundledAssetGroupSchema));
34+
syncGroup.GetSchema<BundledAssetGroupSchema>().StripDownloadOptions = true;
35+
36+
//Create prefab
37+
string guid = CreatePrefab(tempAssetFolder + "/test.prefab");
38+
AddressableAssetEntry entry = settings.CreateOrMoveEntry(guid, syncGroup);
39+
entry.address = m_PrefabKey;
40+
}
41+
42+
#endif
43+
protected override TestBuildScriptMode BuildScriptMode
44+
{
45+
get { return TestBuildScriptMode.PackedPlaymode; }
46+
}
47+
48+
[Test]
49+
public void CanLoadPrefabWithStrippedDownloadOptions()
50+
{
51+
var loadOp = m_Addressables.LoadAssetAsync<GameObject>(m_PrefabKey);
52+
var result = loadOp.WaitForCompletion();
53+
Assert.AreEqual(AsyncOperationStatus.Succeeded, loadOp.Status);
54+
Assert.NotNull(result);
55+
Assert.IsNotNull(loadOp.Result);
56+
Assert.AreEqual(loadOp.Result, result);
57+
58+
loadOp.Release();
59+
}
60+
61+
}
62+
}

Tests/Runtime/StripDownloadOptionsTests.cs.meta

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)