Skip to content

Commit 8ce05e0

Browse files
author
cj-rhee
committed
fix shared bundles generation messes up original bundles asset names
1 parent 81a9be8 commit 8ce05e0

2 files changed

Lines changed: 14 additions & 8 deletions

File tree

Editor/AssetDependencyTree.cs

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,14 @@ public static ProcessResult ProcessDependencyTree(List<AssetBundleBuild> bundles
2121
{
2222
var context = new Context() { FolderBasedSharedBundle = folderBasedSharedGeneration, GenerateSharedNodes = generateSharedNodes };
2323
var rootNodesToProcess = new List<RootNode>();
24+
var originalBundles = new HashSet<string>();
2425

2526
//collecting reference should be done after adding all root nodes
2627
//if not, there might be false positive shared bundle that already exist in bundle defines
2728
foreach(var bundle in bundles)
2829
{
30+
if(bundle.assetBundleName.StartsWith("Shared_")) throw new System.Exception($"Bundle name should not start with \"Shared\" : {bundle.assetBundleName}");
31+
originalBundles.Add(bundle.assetBundleName);
2932
var isLocal = localBundles?.Contains(bundle.assetBundleName) ?? false;
3033
foreach(var asset in bundle.assetNames)
3134
{
@@ -38,18 +41,21 @@ public static ProcessResult ProcessDependencyTree(List<AssetBundleBuild> bundles
3841
//actually analize and create shared bundles
3942
foreach (var node in rootNodesToProcess) node.CollectNodes(context);
4043

41-
bundles.Clear();
4244
var dependencies = new Dictionary<string, List<string>>();
4345

4446
foreach(var grp in context.RootNodes.Select(kv => kv.Value).GroupBy(node => node.BundleName))
4547
{
46-
var assets = grp.Select(node => node.Path).ToArray();
47-
bundles.Add(new AssetBundleBuild()
48+
//we do not touch original bundles, as we don't do any modifiation there
49+
if(!originalBundles.Contains(grp.Key))
4850
{
49-
assetBundleName = grp.Key,
50-
assetNames = assets,
51-
addressableNames = assets
52-
});
51+
var assets = grp.Select(node => node.Path).ToArray();
52+
bundles.Add(new AssetBundleBuild()
53+
{
54+
assetBundleName = grp.Key,
55+
assetNames = assets,
56+
addressableNames = assets
57+
});
58+
}
5359

5460
var deps = grp.SelectMany(node => node.GetReferences().Select(refNode => refNode.BundleName)).Distinct().ToList();
5561
dependencies.Add(grp.Key, deps);

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "com.locus.bundlesystem",
33
"displayName": "Locus Bundle System",
4-
"version": "1.1.20",
4+
"version": "1.1.21",
55
"description": "Simpler Assetbundle Build System using Scriptable Build Pipeline. Alternative to Unity Addressables. \n Visit https://github.com/locus84/Locus-Bundle-System for more informations.",
66
"unity": "2018.4",
77
"dependencies": {

0 commit comments

Comments
 (0)