Git Product home page Git Product logo

locus-bundle-system's Introduction

  • ๐Ÿ‘‹ Hi, Iโ€™m @locus84
  • ๐Ÿ‘€ Iโ€™m interested in video games...
  • ๐ŸŒฑ Iโ€™m currently learning video games...
  • ๐Ÿ’ž๏ธ Iโ€™m looking to collaborate on video games...
  • ๐Ÿ“ซ How to reach me video games...

locus-bundle-system's People

Contributors

favoyang avatar locus84 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

locus-bundle-system's Issues

s_AssetBundles clearing

//let's drop unknown bundles loaded
foreach(var name in bundlesToUnload)
{
var bundleInfo = s_AssetBundles[name];
bundleInfo.Bundle.Unload(false);
if (bundleInfo.RequestForReload != null)
bundleInfo.RequestForReload.Dispose(); //dispose reload bundle
s_AssetBundles.Remove(bundleInfo.Name);
}

As far as i can see initialising bundles inside CoInitalizeLocalBundles, fills in dictionary s_AssetBundles, which is fine, but every time i try to download a bundle and specify which bundle i want, the other bundles are dropped from the memory.

Well our code looks like:
-Initialise all bundles including local bundles.
-Download just the bundles that we need for now.
-Downloading procedure drops other bundles, also drops local bundles from the dictionary.

Publish on OpenUPM

Hi @locus84 ,

Thanks for creating the awesome project, very interesting intention. I'd like to include it to the OpenUPM platform, an open source Unity package registry with automatic build pipelines that bundle UPM package based on semver git tags. Here's the announcement blog for more details.

Your package is well structured, the only thing missed is a GitHub release (git tag, like 1.0.0 / v1.0.0).

  • The easier way is to create release manually via GitHub releases page.
  • Or use semantic-release to automate it (but it requires you change your commit message style).

Thought?

Update: fixed the semantic-release link

Cannot initialize on Android

How to reproduce:
1- Import files into /Packages / install via git url from UPM
2- Create Build Settings file
3- Fill the settings
4- Build both local & remote
4- Build player

Unity Console log after building player:
A meta data file (.meta) exists but its asset 'Assets/StreamingAssets/localbundles' can't be found. When moving or deleting files outside of Unity, please ensure that the corresponding .meta file is moved or deleted along with it. UnityEditor.AssetDatabase:Refresh () BundleSystem.AssetbundleBuildProcessors:OnPostprocessBuild (UnityEditor.Build.Reporting.BuildReport) (at Packages/Locus-Bundle-System-1.1.5/Editor/AssetbundleBuildProcessors.cs:46) UnityEngine.GUIUtility:ProcessEvent (int,intptr)

Config File:
Screen Shot 2021-04-01 at 16 59 03

Problem:
Cannot initialize BunleManager & cannot load local bundles. On Editor & iOS, everything works fine. Tried reimporting all assets, reinstalling everything related with the Bundle System.
Screen Shot 2021-04-01 at 17 03 12

Corrupted files

Hi there,
We are using your bundle system, but we bumped into an issue while using it, We have a couple of scriptable objects which hold the references to certain sprites/prefabs.

We load those scriptable objects from time to time, but sometimes(not always)
we bumb into an issue:

E/Unity: The file 'none' is corrupted! Remove it and launch unity again!
[Position out of bounds!]
UnityEngine.Object:Instantiate(Object, Transform, Boolean)
UnityEngine.Object:Instantiate(T, Transform, Boolean)
****:Awake()

And inside that awake there is a line BundleSystem.BundleManager.Load<T>(bundleName, eventName), which loads scriptable object, of type T,  that has a field that points towards a prefab.

Sometimes that prefab ends up being corrupted, sometimes it's not corrupted.

After this we are followed by a fatal signal and a crash:
-Fatal signal 5 (SIGTRAP), code -6 (SI_TKILL) in tid 9865 (UnityMain), pid....

Error with Domain Reload disabled (Enter Play Mode options)

In my project, I prefer to work with Unity's Domain Reload disabled, for MUCH faster play mode tests/iterations.
But this is causing an error with Locus Bundle System (explained below).
I'm testing the bundles in Windows platform, with Emulate in Editor = true.

I set my Play Mode options like this:
Project Settings -> Editor -> Enter Play Mode Options (enabled)
Reload Domain is disabled, Reload Scene is enabled

With the settings above (Domain Reload disabled), when I enter Play Mode, it seems Locus Bundle System isn't initialized, and then I get [Bundle you requested could not be found] errors.
If Reload Domain is enabled (or if Enter Play Mode Options is disabled), Locus Bundle System is initialized correctly and the bundles load correctly.

Is Locus Build System not compatible with disabling Domain Reload? Can you add this compatibility?

Questions

  1. Does this need advanced knowledge to use?
  2. Mobile Supported?
  3. Does it have Patcher ?
  4. Does it support Hot-Fix patches?

LoadWithSubAssets issue

Hi there,

We were hoping to find a replacement for resources.loadall method, and bumped into a LoadWithSubAssets method, but there is an issue with it in the code snippet bellow,So it searches for Sprites, but finds Texture2D, So no results are type compatible, and the only reason it works is that the default value(which is not changed) of found index is 0, or the first element is returned.

public string GetAssetPath<T>(string bundleName, string assetName) where T : UnityEngine.Object
{
var assets = GetAssetPaths(bundleName, assetName);
if (assets.Count == 0) return string.Empty;
var typeExpected = typeof(T);
var foundIndex = 0;
for (int i = 0; i < assets.Count; i++)
{
var foundType = UnityEditor.AssetDatabase.GetMainAssetTypeAtPath(assets[i]);
if (foundType == typeExpected || foundType.IsSubclassOf(typeExpected))
{
foundIndex = i;
break;
}
}
return assets[foundIndex];
}

Also while we are discussing this method is there a way to do LoadWithSubAssets, that loads multiple prefabs/scriptable objects from a subdirectory, we are currently working with GetAllAssetNames(), method and parsing the string to check for subdirectories.

[Bug] "Get Expected Sharedbundle List" operation makes scene lose prefab references

Using Locus Bundle System v1.1.8.
Issue detected in Unity 2020.3.14f1 and 2021.1.14f1.
My OS is Windows 10.

After "Get Expected Sharedbundle List" finishes its operation, I click Confirm to close the "Succeeded!" popup.
Then, it loads a scene that may not necessarily be the last scene I was working on, I guess it loads the last scene that was scanned in the bundles. (this is already a minor issue)

But if that scene had prefab instances, after the "Succeeded!" popup closes, the scene loses all its prefab links. (!)

At this state, if the user opens another scene, then opens that earlier scene again, the prefab links return to normal.
But if the user instead make some changes in the scene and save it, the "lost prefab links" will be also saved. (!)
Next time(s) the user opens the saved scene, it won't have any prefab links.

Material color don't change in prefab

Hello Locus, when I change the color of the main material (from Assets folder direct) used in the prefab, it does not change in the prefab when I instantiate it (in Editor it works but on android does not work), how can I fix it?

Bigger size, due to some references that are not needed.

Hi,

I really like this repo, but i have an issue with the fact that when i create a bundle it draws multiple assets from my project, including for example fonts, which are huge for our game due to the fact that we support Hindu, Chinese, Korean and Japanese markets.

My question is if there is a way to not include some dependancies in the asset since they will be included in the build?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.