#📦┃addressables

1 messages · Page 10 of 1

wooden moss
charred osprey
#

thanks 🙂

wooden moss
# charred osprey thanks 🙂

but it may not actually be preferrable for your specific use case since unity copies stuff around. still worth a look though

charred osprey
#

So if that fails for whatever reason. I assume Addressables is the next best way to go about this. Quickly skimming that link you sent does look like it will work for my needs. I'll try it and see how i get on. Thanks again for the replies and help

wooden moss
# charred osprey So if that fails for whatever reason. I assume Addressables is the next best way...

no. if streamingassets is not appropriate for your use case, you can simply just fall back to using normal folders. you just have to get the specific paths then and everything. but that might actually be what you want. that should still work. and since you're building a dj deck, that might be the true best option. streaming assets is more for actual game content i guess. if you just want to do a dj deck, then i would highly discourage you from using asset bundles or addressables, because those will have to be built in editor beforehand. (if you think dj's won't convert songs, they certainly won't do that)

rich quarry
#

streamingassets is for content that you are including in the game

#

if you're loading stuff from exterior, like @wooden moss said you will be loading them from disk at runtime

#

using UnityWebRequest, etc.

charred osprey
#

Ok so i need to create UnityWebRequests for every single song. Maybe i can use foreach loop to iterate through a folder and load them. Does that sound right? I'm awful at coding. More artist musician myself.

rich quarry
#

sounds about right

wooden moss
charred osprey
#

Oh thanks for the tip. " DIrectory.Enum... " I'll try this. Thanks both for the help. Looks like I'm going to be busy for the rest of the evening trying to resolve this. Hopefully i don't have to pull to much of my hair out in stress 😄 Thanks again guys

wooden moss
charred osprey
#

That would be very kind and helpful of you. I appreciate that 🙂

wooden moss
#

ok, just a sec. have to find it first

charred osprey
#

no problem

#

No matter if you can't find the bluprint. I think i was half way there already using UnityWebRequest and also using JSON to grab different data types externally. What i didn't consider was creating a foreach loop to get more than one file only. I thought i was constrained to only obtaining 1 file/song/ and why i ended up here asking a question to make sure i was going the right way about this.

wooden moss
charred osprey
#

oh ok thanks

wooden moss
#

have to open the project. that's why it takes a bit :/

charred osprey
#

no problem. I appreciate your effort thanks a lot

#

thats what i've got working so far regarding getting data in to unity at run time

#

so i think i'm half way there as mentioned

#

video is pretty bad. I've not quite figured out how to get it to look nice.

wooden moss
#

@charred osprey got it. here:

charred osprey
#

Just skimming this i think i was on the right track after all. I appreciate you taking the time to get this for me. I'll study it a bit more shortly and see what i can learn from this. Thanks again for your help. If i can repay a favour. You need a model or texture or something made. I'd be happy to make for you. No strings attached etc. Just shoot me a message any time. I really appreciate the effort. thank you

#

is - this *

charred osprey
#

thanks again, for the replies all. Have a good evening/ day / morning wherever you are! bb for now 😉

primal trench
#

Hi guys

#

I had a question, why does the Addressable load on Android so slow? Loading time on PC is 1 second and on Android is 5 minutes? !!!

alpine peak
charred osprey
minor tinsel
sharp crow
#

can I build a subset of my addressables into their own catalog

#

e.g. only one group

sharp crow
#

so theres a include in build checkbox

#

can I set that rom a script

#

I'd like to have build menus for build group A and build group B

#

Our usecase is to provide hosting for user generated content like mods

#

sort of like steam workshop

#

so we'll have a server/cdn hosting our own and user created bundles

#

I thought we could have catalogs per user or even dynamically generated catalogs of things a player has subscribed to but it seems the catalog format is quite opaque

#

the keys seem simple enough but the keydatastring etc are ascii encoded binary it seems

#

so the next best idea is a catalog per subscribable item or per creator

#

but still I'll want to generate those smaller catalogs and upload them to our server

#

thoughts?

cedar trail
#

I have a potential use case for Addressables:
I have a level editor and the game itself. The level editor is for placing and importing assets, and then it will package everything for the game to use, the same way Creation Kit is for putting together ESM files for Skyrim.
I'm trying to find a good way to bundle up the assets to ecport for the game to use. It's pretty early in the project, so I can afford to change my approach right now. Is this a good use case for Addressables?
I'm considering it, because world information references the assets it needs by name.

wooden moss
#

Sounds like a good use case. If it's supposed to be for user generated content.

weak loom
#

Are there any advantages to Asset Bundles any more or are Addressables basically just power crept versions of Asset Bundles?

wooden moss
#

Adressables are just superior

languid widget
novel aurora
worthy phoenix
#

Hello, I'm having trouble with addressable and localization. If I use local path in editor it works. If I try to configure it for remote path I end up with lots of exceptions, starting with :

ArgumentException: JSON parse error: Invalid value.
UnityEngine.JsonUtility.FromJson (System.String json, System.Type type) (at <e27d79fa71fd4d44a57fa16ac139c528>:0)
UnityEngine.ResourceManagement.ResourceProviders.JsonAssetProvider.Convert (System.Type type, System.String text) (at Library/PackageCache/com.unity.addressables@1.19.19/Runtime/ResourceManager/ResourceProviders/JSONAssetProvider.cs:20)
UnityEngine.ResourceManagement.ResourceProviders.TextDataProvider+InternalOp.ConvertText (System.String text) (at Library/PackageCache/com.unity.addressables@1.19.19/Runtime/ResourceManager/ResourceProviders/TextDataProvider.cs:143)
UnityEngine.AsyncOperation:InvokeCompletionEvent()

#

I'm on the latest version of addressable and localisation for unity 2020.3.30f1

#

I've tried suggestion found on the forum (disable code stripping, change to filename+hash, destroy and recreate local,...) nothing works.

#

Does anyone have other suggestions ?

sullen mountain
#

Not sure if this is the right spot but I am working on making custom embedded packages for a game I am working on and am able to build the package and release it via scoped repository and pull it into another project.

The issue I have is that the files and folders of the package that gets pulled in are not showing up in the editor but are present in the package (confirmed with file explorer). Has anyone else dealt with this and how did you solve it?

cedar trail
wooden moss
cedar trail
#

ok how do I build and export my asset library to use in a different project? hitting the build button crashes my GPU.

cedar trail
#

yeah ok are there any good videos on the addressables workflow because i dont 100% get it yet

worthy phoenix
# cedar trail yeah ok are there any good videos on the addressables workflow because i dont 10...

https://www.youtube.com/watch?v=0USXRC9f4Iw&list=PLQMQNmwN3FvwcDh-oo0lHYyqTo7F8V7t6, I followed this but I'm also having some trouble sith things working once and then not and then working agoin...

Unity Addressables is a powerful asset system available as a package in Unity and today I provide you with a new video where I show you how to install the Unity Addressable plugin, how to configure addressable groups, how to add assets to your Unity Addressable settings, and lastly how to load and instantiate objects via script.

Project shown i...

▶ Play video
cedar trail
#

ok, I think my problem is that I have a few file types that Unity doesn't natively deal with (lua scripts)- which causes the build to fail. How do I solve this? should I make them text files instead?

real cloud
#

Hello, do anyone know is for a WebGL build, a local and remote adressable assets are the same, if both are located in the same server where I place my build, or do a local adressable assets in this context will be immediately loaded from the beginning with the build to the cache of the web browser ?

wraith edge
cedar trail
cedar trail
#

what do these errors mean?

cursive mulch
#

Should I rebuild when I switch platform?

novel aurora
novel aurora
# cursive mulch Oh thanks

Yeah I learned it the hard way debugging for hours on iOS because I got null reference errors all the way until I understood the Addressables debug info...

sharp crow
#

so it seems like we stumbled on a bug in addressables, monos task implementation or something

#

we are loading an addressable map, then a whole bunch of prefabs, then a whole bunch of textures

#

for the prefabs and textures we do Tasks.WhenAll

#

since all of it is happening using async/await code, the two loads for prefabs and textures happen concurrently

#

while the map also is loading

#

the second load (textures) will cause a freeze if the prefab load has not finished by then on linux

#

freeze meaning the whole editor freezes and has to be killed manually, not even ctrl-c on the terminal will kill it

#

if I add a semaphoreslim waitasync ... release around the load and whenall, it does not freeze

#

so I wonder what could cause it, maybe the prefabs load textures as dependencies, then the second load loads textures already pulled in by a prefab, waiting for the same awaitable or something like that?

south whale
#

so for a not-so-large project, and the default rules set, how long should Analyze Rules take?

#

Unity 2020.3.31 LTS

potent hare
#

Guys, I have a very small project with 1 addressables, and when I'm using that code and press Play, unity start to compile code forever, and i need to close it from task manager

op = Addressables.LoadAssetAsync<GameObject>(assetReference);
await op.Task;
#

And I have that unfixed problems(

next inlet
#

If I am using Scenes as Addressables and load the same scene multiple times, does it load the scene asset bundle once and reuse it, or load new asset bundles every time?

swift birch
next inlet
#

Thanks!

upper finch
#

hey can someone help please; addressables isn't showing up under asset management and i don't know what to do

#

looks like it works on a new project, but not my older one unfortunately

undone hound
#

package installed?

upper finch
#

yeah package was installed

coral iron
#

is there any way to use TextMeshProUGUI font replacing without placing materials in the Resource Folder ?

#

i am patching font style with my addressable now and by putting them into addressable means this can no longer be patched and they are shipped with APK

boreal zinc
#

Are there any good book or course about asset bundles and adressables?

verbal harness
#

Hello, I want to print out my addressable string location like: Assets/18SeamlessNormalMaps512Free/PNGs/W050.png

#

How do I do that in code?

#

I have 60,000 addressable assets across different directories. I'm going to creatively have the DEBUG.LOG print out code for them that I can copy paste from the Logs into my C#

#

I need to be able to know the location to the addressable string representation of the file location tho? Anyone know how to access it? It's the string to right of the addressable checkbox:

icy flume
#

Hello. Has anyone had issues with caching on Google Buckets and addressables failing to update to the latest version of a bundle? Seems like it will grab the .hash and .cache file then never update again. I can see in the local cache it clearly has the latest .hash file but and old .json catalog file

static adder
#

Good Day,
Please how do I use addressable to pul video files from my server (mysql) and display it in unity Without updating it all the time

slate timber
#

I've Heard unity addressables are for modding unity games does any body have any resources on making a unity game moddable?

icy flume
#

You should start with figuring out the basics, like remote bundles, catalog updates, etc. Then you can think about modding. It's all the same learnings.

slate timber
dark matrix
#

Hi I have an issue with UI Localization, everything seems to work in the app but those errors when I launch it:

placid ruin
#

Hello there 🙂 I am trying to figure out memory management for my prefab instances loaded from addressable catalog. When i release the instance of addressable prefab gameobject, I see that the texture count and mesh count is not changing. The object itself is released but the mesh and texture seems to stay in the memory. Is it necessary to put mesh and texture into addressable and set those during the instantiating of the gameobject so I will add component for mesh renderer and so on?

As you can see on my screenshot. I have regular prefabs in the scene placed on the shelf. With the script I'm basically taking AssetReference address and setting it onto the EntitySpawner script. AssetReference for the prefab is set correctly but when I try to set AssetReference on the EntityMeshModule, It doesn't work. I had to duplicate all the meshes from the FBX files and those meshes set to Addressable catalog. I'm confused wheter the Addressebles handle the memory by itself or do I need to set mesh, materials and texture sepparatelly? If my case is confusing, let me know and I will try to describe it better. Thank you 🙂

next inlet
#

Hello All!

I am currently experimenting with error handling when it comes to using the Addressable System, i.e., when the program is not able to load an asset (primarily due to download issue), it can load a backup asset that is stored locally on the player's device. To do this I am either intercepting exceptions logged by the Addressable System (ignoring everything but Invalid Key Exceptions), or disabling exception logging on the Addressable Settings asset.

My system works fine when using prefab addressable assets, however I am experimenting with using Scenes and have run into an issue.

Right now I am just removing the individual asset bundles in order to force the error system to run. That's probably not the best means of testing the system but I'm not sure what else to do (I am open to ideas).

The issue with this method is that I am seeing the error message in the title in a built game (it doesn't happen in the editor), which stalls loading. Obviously the exception is thrown because the SceneManager system cannot find the asset bundle scene, but my question is, why isn't this logged via the normal Addressable exception logging system, or else passed along to the AsyncOperationHandle like other download errors.

Is this issue only applicable to my testing scenario where I am manually deleting the Addressable Asset files? Or will it show up in a normal game when the asset bundle with the scene fails to download for another reason (connection issues for instance).

Any insight would be greatly appreciated.

next inlet
#

I think this just must be a bug, so I am going to file a bug report.

unique olive
#

from general:
I'm going out of my mind and would love some help. My game is comprised of a bunch of additive scenes loaded on startup. When I build my game as a Development Build, this runs fine. When I do not build my game as a Development Build, it crashes to desktop after the load is complete. No errors logged, the crash dump file says The thread tried to read from or write to a virtual address for which it does not have the appropriate access..

#

I can't replicate in editor, even with Use Existing Build on. Have rebuilt my addressables many times, no change in behavior.

#

Oop, now I am able to repro in development build, which is sort of reassuring. And even with compile flag set for verbose addressable logging, no errors coming up.

half tiger
#

Hey can anybody help me to understand this system? XD I'm trying to use addressables to load big scenes in my oculus quest2 (1-3GB each)

fleet cape
#

How to correctly release Addressable gameobject if it has also another addressable as a component. Should I first release referenced addressable (component in this case) and then release the game object itself? Or can I directly release gameobject and it will take care of releasing component addressable as well

verbal harness
meager oak
#

hey y'all! I'm currently trying to integrate Google's Play Asset Delivery (PAD) plugin in my project and use it with Addressables. I saw that Unity provides such a built-in functionality. There is a checkbox called "Split Application Binary" in Edit > Project Settings > Player > Publishing Settings. However I'm not sure how to use it exactly.

  • Do I need to configure something else or does this work out of the box when my application is larger than 150mb (restriction by Google)?
  • I saw an Addressables PAD sample (https://github.com/Unity-Technologies/Addressables-Sample) which uses some customized scripts, do I need to use them too in order to get things up and running?
  • What's the difference between Unity's built-in PAD support and the PlayAssetDelivery.unitypackage provided by Google?

Big thanks in advance ❤️

uneven onyx
#

Do most folks load the addressables that are in use in a scene before the scene is loaded so that there isn't time spent loading it when it needs to be instantiated?

low halo
#

The best time to load something is when you know you're going to need it soon but before you actually need it

#

So... depends

static adder
#

Hello Everyone I am having challenges loading videos from server as an addressable. Any guidelines I can follow?

elfin wadi
#

Hi, I have a general question about building Addressables. Should Local Groups be automatically included in the StreamingAsset folder? I'm trying to debug why when using the 'Use Existing Build' Play Mode Script and an application build, we cannot access the addressable assets. We've used Remote Groups successfully, but are unable to get local ones to work. We have not edited the paths pair for the local group. We have also build the content bundles.

#

UPDATE: We ended up deleting the entire AddressableAssetsData directory, and recreating it to get it working.

jolly adder
#

I'm just starting with Addressables, I have a bunch of prefabs I've made addressable and set their label to "ModObject", but if I call Addressables.LoadResourceLocationsAsync with that as a key I get nothing... what am I missing?

midnight dirge
#

Every time I save my scene, my editor crashes. any ideas?

jolly adder
#

report it to Unity using the bug reporter, try on empty scene, try using an older version of the scene

undone elm
#

how do I get addressables to work on ios?

#

cause the addressable. groups I have just decided to stop working completely and nothing so far has helped to fix them

#

why does addressables groups use the key squareapple on ios?

#

ArgumentException: An item with the same key has already been added. Key: SquareApple

#

thats is what xcode is telling me when something is being loaded from addressables

undone elm
#

what do i even do at this point?

undone elm
#

Ive tried a reimport of the project, but nothing has helped it sofar

undone elm
#

is there anything else I could try

low halo
undone elm
#

yep

#

clean build then new build

keen gazelle
#

If all my bundles are offline, is there any benefit to grouping multiple related assets into one bundle (vs just let each file be its own bundle)?

#

I'm under the impressions that it's primarily used for bundles across network to reduce amount of requests, and that's irrelevant to my use case where everything is offline.

manic furnace
#

Hello, is there a way to load an asset via address while omitting it file extension? Example Addressables.LoadAssetAsync<Sprite>("Images/example_img") rather then Addressables.LoadAssetAsync<Sprite>("Images/example_img.png")? In the case i have multiple images in this folder with different file extensions

untold garnet
#

is there a way to include some addressable groups with build and only some for online download?

fair heron
#

Hey guys! How should addressable changes be tracked with VCS like Git, Perforce, etc?

#

I've noticed those are not stored on the prefabs themselves..

jolly adder
#

do you mean the bin file?

#

the groups and everything else is stored in Assets\AddressableAssetsData

low halo
#

You can set it to "Gary" if you want

keen gazelle
#

When I build, /Assets/AddressableAssetsData/Android/* and /Assets/AddressableAssetsData/link.xml are generated

#

From my understanding all these are for shipping only new/changed assets and I absolutely do not need this feature (all my assets are local and contained in the build)

#

Is there a way to turn it off or do I just have to gitignore them?

jolly adder
#

gitignore, but you do need them to be generated

keen gazelle
#

Is there a way to configure where they are generated?

#

It would be nicer if I can just let them generate elsewhere and not be added to the asset database (so no .meta either)

#

Kind of annoying to deal with for a feature I don't need.

#

When people were complaining AAS is designed specifically for mobile and incremental content update, I guess they really weren't kidding.

#

At least synchronous loading is available now or AAS would've been a nope from me.

real plover
#

UnityEngine.ResourceManagement.ResourceProviders.Simulation.VirtualBundledAssetProvider/InternalOp:RequestOperation_Completed (UnityEngine.ResourceManagement.ResourceProviders.Simulation.VBAsyncOperation`1<object>)
DelegateList`1<UnityEngine.ResourceManagement.ResourceProviders.Simulation.VBAsyncOperation`1<object>>:Invoke (UnityEngine.ResourceManagement.ResourceProviders.Simulation.VBAsyncOperation`1<object>) (at Library/PackageCache/com.unity.addressables@1.19.19/Runtime/ResourceManager/Util/DelegateList.cs:69)
UnityEngine.ResourceManagement.ResourceManager:Update (single)
MonoBehaviourCallbackHooks:Update () (at Library/PackageCache/com.unity.addressables@1.19.19/Runtime/ResourceManager/Util/MonoBehaviourCallbackHooks.cs:26)```
Unity throw these error when I try to load all scriptable object
```public static async UniTask Load<TObject>(string assetLabel, List<TObject> dataList) where TObject : Object
        {
            dataList.Clear();

            var locations = new List<IResourceLocation>(await Addressables.LoadResourceLocationsAsync(assetLabel).Task);

            async UniTask<TObject> GetTObject(IResourceLocation assetKey)
            {
                var tObject = await Addressables.LoadAssetAsync<TObject>(assetKey).Task;
                return tObject;
            }

            var tasks = Enumerable.Select(locations, GetTObject).ToList();

            var objects = await UniTask.WhenAll(tasks);

            dataList.AddRange(objects);
            dataList.RemoveAll(item => item == null);
        }```
lusty heron
#

Hey, I was wondering if I should use Addressables, mostly just because the unity manual says I should use it over loading from a resources folder. I just want to change a UI Elements stylesheet at runtime, so these are not huge files or anything. I doubt it would affect performance much, and I will probably just load them at startup. The main advantage of Addressables in this case to me seems that I could keep a sensible folder structure. Is that worth using Addressables? Do they just work, or is it a lot of hassle to get working? My platforms are standalone and WebGL. Editor version 2021.3.

rustic apex
# lusty heron Hey, I was wondering if I should use Addressables, mostly just because the unity...

If you want to switch between two-three predefined stylesheets, adding Addressables is not worth the effort. Just create a serialized list of stylesheets and iterate over it. You don't have to put them in the Resources folder either. You will benefit from Addressables in this case only if you think you will need to tweak the stylesheet later when the project is built and installed to users' devices. With Addressables, you will be able to replace stylesheets on the fly without requiring users to reinstall the application. For example, you may want to create a special Christmas UI style for your application, then return it back after the event is over. If the UI is final and you just want to provide users with several UI options, don't bother using Addressables.

lusty heron
#

Thanks, I'll try to look up that serializable list thing then. I thought I might have to make some StyleHolder : MonoBehaviour and attach that to my main camera, then attach the stylesheets to that, or something silly like that.

#

Hmm, I guess that might still be my best option

real plover
#

Someone please help, I don't know why editor keep spamming unknown error in AsyncOperation

rustic apex
jolly adder
#

some variations let you pass a completed callback directly

undone elm
#

does addressables work for ios or is it still in development?

robust bone
#

Hello, I read from here there are 3 ways to handle uneeded cache data https://docs.unity.cn/Packages/com.unity.addressables@1.19/manual/RemoteContentDistribution.html#assetbundle-caching
I went with UpdateCatalogs, I'm trying out the Addressables.UpdateCatalogs sample code here https://docs.unity3d.com/Packages/com.unity.addressables@1.16/manual/UpdateCatalogs.html
However, my catalogsToUpdate.Count is always 0 even if I replace the StreamingAssets folder. Is there something else I should be checking?
I was testing this in a webgl build.

Also which file is the "Content Catalogue". I read the definition of Content Catalogue, but I don't know which file it is referring to (is it in the StreamingAssets folder?)

candid violet
#

Anybody else experiencing terribly slow loading times on Android? It's basically unusable

robust bone
# robust bone Hello, I read from here there are 3 ways to handle uneeded cache data https://do...

I didn't do InitializeAsync() or Enable DisableCatalogUpdateOnStartUp(). Not sure if it solves it yet, doing a test build. Reference: https://forum.unity.com/threads/i-think-i-dont-understand-how-checkforcatalogupdates-work.904508/

[EDIT]
CatalogsToUpdate.Count not 0 anymore after I update streaming assets folder! However old addressable cache still exist. I'm suppose to do something with autoCleanBundleCache. Haven't figure out this part yet

[EDIT..again]
Turns out autoCleanBundleCache is in a higher version then what I have. I'm on Unity 2019 which is using addressable 1.16.19 and I can't seem to update to 1.19.4 which is where autoCleanBundleCache was added. So either I upgrade my Unity version or I have to find another way

robust bone
# robust bone I didn't do InitializeAsync() or Enable DisableCatalogUpdateOnStartUp(). Not sur...

So according to package manager, my addressable is already up to date at version 1.16.19. However in the documentation, the drop down to choose a version, it lists there are newer version compaitable with 2019.4+ https://docs.unity3d.com/Packages/com.unity.addressables@1.19/changelog/CHANGELOG.html#1170-preview---2020-12-13

Is this a package manager bug or a documentation error?

I do want to try addressable version 1.19 because that is whereautoCleanBundleCache was added

mental lily
#

heyo, I updated a prefab creating a new animator controller, and now i have a problem:

  • I have a scene where there are intances of said prefab, and some more get spawned on start.
  • when building, the ones present in the scene have the correct animator, the spawned ones have not
#
  • all the involved asset bundles have been updated and rebuilt and are included in the build
jolly adder
#

Should I be aiming for a certain number of assets per group/asset bundle? With 600+ items the editor UI sometimes has long delays

white robin
#

so, I'm not sure where to ask this

#

but I have a scene

#

and I want to save it and it's direct references

#

aka all the assets present in it

#

convert them to an asset bundle

#

and then send it to my database

#

so, I want to save the scene and all the assets in it and convert them to some file via code

jolly adder
#

in a plain asset bundle or an addressable bundle?

#

it should be possible directly with addressables

mental orchid
#

Sorry for my laziness, but could someone show me how to load the built addressable?

muted copper
muted copper
cursive mulch
#

Any experience working with scriptable objects guys? I just caught a duplicate bug and decided that removing addressables is a faster way. Just wanna know some tips from you guys for future

lucid mulch
#

guys can i load sprite atlass in addressable and should i do that in my project ?

frozen sphinx
frozen sphinx
#

I was wondering if there was a way to filter out certain entries from Addressable Groups during the build process of creating bundles and still have the bundles packed together.
The use case would be multi platform development as you could have objects specifically designed for each build target (PC/ mobile) but you don't want the pc targeted asset being included in the mobile build.

muted copper
#

Say I started an async load operation and store the operation handle somewhere. Then a script comes back and asks for the result, but it's still loading. Now say I want to subscribe to that in-progress operation to run some code when it finishes. Do I have to use the CreateChainOperation API? Or can I directly subscribe like handle.Completed += MyCompletedMethod;

#

This is assuming I already subscribed to Completed when I started loading, but now I want additional code to subscribe.

muted copper
muted copper
#

Does anyone know any of the most common causes of this error?

Exception: Attempting to use an invalid operation handle
#

Triggered by calling

Addressables.Release(handle);

handle isn't null.

#

lol I guess I can just call if (handle.IsValid())

worldly moon
#

I'm trying to design a function that takes an id from an enum, and it returns the asset reference. Say for a list of enemies. However, all I'm coming up with is just matching the enum string to the addressable path. Any ideas on how to go about this on a cleaner way that avoids string comparison?

azure reef
#

I'm working on this "big" legacy project and one idea to improve it is to have a Game state Manager based on Addressables to load scenes for each Game State as Menu, Combat etc... The question is... When moving to Addressables can I only deal with Scenes as addressables and things that are in the scene leave them be?

random mango
azure reef
# random mango You can choose fire each object separately if it should be addressable

This is a very big project, kind of a mess, I want to be able to start improving and something I want to do is a scene registry so I was thinking on addressables to be able to reference scenes in the inspector to manage game states. My doubt is if I just make scenes addressables should I also make all the objects in the scene? Again this is big project

random mango
azure reef
# random mango You could also use addressable prefabs to do that. Question is if loading/unload...

The actual system is all over the place and the loading unloading is done using scene names as string each game state is comprised of many additive scenes. I wanted to change that for something centralized that will register a connection between game state and scenes needed for that, to clean that hardcoded hell. That's why I thought on addressables so it can be composed in the inspector dragging scenes needed for state. I was researching also how to use scenes in inspector without addressables. If addressables will make me change everything I will go for the alternative. Makes sense?

random mango
#

been using them for that exact thing regularly, I just use prefabs to represent state rather than scenes.

azure reef
jolly adder
#

my understanding is if you make a scene addressable all the contents are addressable and included in the same bundle

lucid mulch
#

guys how to fix this error : Error while downloading Asset Bundle: CRC Mismatch. Provided 2f06fad, calculated 39c4bdc6 from data. Will not load AssetBundle

manic furnace
#

Anyone knows an easy way do clear all addressables cache (all groups)?

random mango
worthy merlin
#

Hi there!
Let's say I'm working on an rpg, with a seamless chunk-based world and lots of items, NPC's and so on.
I would like to know how I need to categorize my addressable assets into groups to load them in relevant way.

#

I definitely don't want to group by asset type (weapons, food, characters) This will result in currently unnecessary assets being loaded.

uneven onyx
#

I want to confirm something, because I'm struggling to find a way to verify it in Unity. I have a scriptable object that I load as an addressable through AssetReference that references other scriptable objects directly (not using AssetReference). Do these "children" objects get loaded as part of the asset bundle, or does it somehow reference ones in memory? I have one of these children not marked as Addressable, and it seems to behave the same as the ones marked as Addressable - does this make any difference? thanks

lucid mulch
#

I didn't check some value is null or not null in pre download function so the error happened, thanks for your help

inner stump
#

How can I access and edit the "Local Variables" of a Localize String Event from a script? I want to edit the gold cost of a chest during runtime using a value from a script, but I couldn't find how to do so.

lilac linden
#

Trying to use addressables, but getting error for attempting to load an instance already loaded. Can anyone help me with the right way to prevent reloading?
Code for load and release wrappers: https://paste.ofcode.org/5nR2mumZgZkLPR7psQFDE4

#

For more info, it's to load animation sprite sheets, and it should only have one instance loaded at a time.

#

in other words, what are the best practices for load/release wrappers?

plush spindle
#

Hello!
I really need help)

I have public AssetReference sceneReference;
I put my Scene there.

Then i try to get scene name by sceneReference.SubObjectName
But SubObjectName is empty. I cant understand whats wrong

plush spindle
#

Any one?

plush spindle
#

help((

hexed shell
plush spindle
#

im try to get scene name

#

there is my thread with code examples

#

i use SO as data container with scene information. in it there is:
public class SceneBaseScriptableObject : ScriptableObject
{
public AssetReference sceneReference = default;
}

#

then i want send it to SceneLoader to load the scene

#

so i try to get scene name like this String currentSceneName = scenesLoadList[i].sceneReference.SubObjectName;

#

it was in tutorial of Unity Open Project

#

AssetReference . Name is null to

hexed shell
#

I doubt you can get the name of the scene without loading it - that is unless the RuntimeKey is set up to contain that information

#

it's the RuntimeKey that is used to load the scene if you call LoadSceneAsync on an AssetReference

plush spindle
#

maybe you can get the file name of the scene?

worthy merlin
orchid crypt
#

Is there a way to get AssetReference of all assets by label? I really need hashes 🙂

languid widget
#

You can load them as groups and process them.

#

In small scale I usually use a script to use their file names as asset name and output those names as a list to drop into enum so I can access them with code completion.

orchid crypt
languid widget
#

(And put them on start into a dictionary with enums as keys to access)

orchid crypt
#

there is no way to get asset guid from gameobject in build, am i right?

orchid crypt
#

yes, this works fine in build. But i've ended up with huge SO which stores all AssetReference i loading ONLY because i want to use AssetGUID in build to be able to remap result.
Instead i want to just ask Addressables to load whole group and then remap, but how to get GUIDs? Or may be another way to do remap, but by what data?

languid widget
#

I think you can include your map in addressables, or data to construct it. Then process the group at runtime. I haven't done experiments with that though.

orchid crypt
#

you mean some component directly on asset with some key?

languid widget
#

Yea, I'm guessing at this point, I haven't done something like that in practice.

orchid crypt
#

i'll give it a try

lucid mulch
#

SBP ErrorError anyone know how to fix this ?

prisma kelp
#

its an awful error message but the details should be somewhere further up the log

lucid mulch
lucid mulch
#

I've checked all code and it worked normally. But I still have no idea why addressable build fail. Have that error came from other plugin ?

woeful gate
#

Hello, can addressables be used to deliver entire scenes?

woeful gate
#

Does it includes the assets used in the scene?

iron crypt
#

how is it possible to use tilesets with adressables? dont want to load sprites via scene.

plush spindle
#

Hey

#

I have a bunch of assets group, that i want to load at the game start

#

they have different files types and folders

#

Can i load them like:

private AssetReference[] initialAssets;

#

this.initialAssets[iAsset].LoadAssetAsync<Object>();

umbral locust
#

Can there be done anything to improve the performance of spawning in adressable gameobjects ? Like making the spawning way faster ?

umbral locust
#

Anyone ?

#

Another quick question... should i mark every prefab itself as adressable in the inspector ? Or is it good enough to just mark its folder as adressable ?

umbral locust
# wooden moss addressables are super fast

Alright and there cant be anything improved ? Im spawning in like 1k prefabs using adressables and it still lacks like 1 second.
Which is great, but i wonder if it still can go faster ^^

wooden moss
umbral locust
#

Thats basically what i spawn in like 1k times... it still generates a noticeable lag ^^

#

Those are pretty much my groups ( the names say everything ) so the tree is part of the prefab group

#

However, i have the feeling that this is why it takes so "long" ^

#

It clearly shouldnt reference bundles like animations... or fonts

#

Is this normal ?

wooden moss
#

no you have to define the dependencies

umbral locust
#

What do you mean ? ^^ how can i define the dependencies ?

umbral locust
wooden moss
#

it makes sense to split the bundles into logical units.

umbral locust
wooden moss
#

unity has perfect docs on addressables

#

and no. file categories are not logical groups

#

not for addressables

#

e.g. anything in a particular scene could be a logical group and could make sense packing together

umbral locust
wooden moss
#

it makes sense to bundle anything together that is used together, but if that's inside 1 bundle or multiple bundles bundled together depends on the game. but putting ALL text assets or ALL textures or ALL [something] into 1 package makes most often no sense

umbral locust
uneven onyx
#

speaking of performance - any idea why creating a build with a completely empty addressables build (all groups not included) takes roughly 250% longer than a build with no addressable build at all (cleaned)?

prisma kelp
# lucid mulch I've checked all code and it worked normally. But I still have no idea why addre...

"Failed to compile player scripts" typically means that a script was invalid when building the packages. So I would assume that you are using some sort of function that is not available in a build (like editor functions), or are using some #if / #else / #elif / #endif in a way that includes code that is not valid for the one you are building.

If you don't have any compile errors when you play in-editor, I would specifically look for editor functions as that is the most likely thing.

cedar trail
#

Okay so, when do I need to release addressable assets and when do I not need to release them?

cedar trail
#

also, how do I set a folder to automatically have everything in it be addressable? I used to be able to do that but now I dont know how

hexed shell
#

can you not just drag the folder into the groups window

cedar trail
#

wait, it does it for scriptable objects but not text assets

#

how do i do that with textassets?

hexed shell
#

Should work fine

#

is it actually a TextAsset? Or is it an unimported text file

cedar trail
hexed shell
#

Looks fine. It should work fine, no idea why it would be any different

cedar trail
#

Hmm. Well I guess there’s no real reason for it not to be a scriptable object

wooden moss
cedar trail
cedar trail
wooden moss
#

of course

#

or you unload it when you know that it won't be needed again

cedar trail
#

great

plush spindle
hexed shell
stuck timber
#

anyone familiar w/ how to load a specifically typed mb class rather than having to unbox a game object?

#

getting failed key exceptions when loading as custom class, but no exceptions when doing so as game object

plush spindle
#

I need help.
I have asset bundle which includes folder with Scriptable Objects.

How can i load them all?

Bundle packed together.
I use AssetReference in my code to link them.

stuck timber
#

not familiar w/ loading bundles, but i have an abstract static script for loading and managing assets

#

it works by tying the address name to elements in an enum

#

public enum MaterialAddress { PxShader };
public class MaterialHandler : OpHandler<Material, MaterialAddress>
{

}
#

eh, i can't get syntax highlighting for whatever reason. Anyway, that's an example of its implementation

plush spindle
#

thanks. my problem is in LoadAssetAsync<T>(key); is T...

stuck timber
#

then all u do is load it in a coroutine
yield return MaterialHandler.LoadAll();

plush spindle
#

if asset is a folder with files what T i need to write?

#

Object?

stuck timber
#

LoadAssetAsync<T>(key) is for loading a single asset at the address(key) afaik

plush spindle
#

yep, so if asset have folders in it, what i need to put in T? or how to load it?)

#

thats my problem)

#

there is image in my first post with asset. i dont understand how to load it

stuck timber
#

maybe check here?

#

not sure if that'd be useful

plush spindle
#

i cant understand it(( they use Addressables.LoadAssetAsync<GameObject>("addressKey");
but my asset not GameObject. so i dont know what put there

stuck timber
#

yah im not familiar w/ ur set up

#

here's an example of mine, i just load things individually

#

so however ur setting up ur groups, research that and look for solutions that involve that method

#

documentation is naturally all over the place, so ur gonna have to do some digging and research to understand what exactly ur setting out to achieve

#

i don't think Addressables.LoadAssetAsync<T>(key) is the way to go

#

a folder group will never have a type T

#

nor will it really have a key

plush spindle
#

yep, thanks for your participation

plush spindle
#
        private void InitializePersistentAssets()
        {
            for (int iAsset = 0; iAsset < this.persistentAssets.Length; iAsset++)
            {
                Addressables.LoadResourceLocationsAsync(this.persistentAssets[iAsset].RuntimeKey);
            }
        }
#

It seems to work

#

How can I check in the editor which assets have been loaded?

stuck timber
#

maybe have a serialized field for the asset ref and store the refs there

#

probs have some mb w/ that info

#

is there a reason u need to see in editor what's loaded/

#

u could just run a check thru a method and send the check info to debug

jolly adder
#

check the addressables event viewer

torpid mantle
#

So i just opened Unity and all the scripts kinda broke.. the text is still there but it shows this message under everything that used them is there a way to fix that?

#

When i try to add anew one it shows this

cedar trail
#

ok so how do I load all assets that have a tag? Addressables.LoadAssetsAsync<NPCSchedule>("Schedule", loadedSchedules.Add); I think is just looking in a path that does not exist

iron ridge
#

Hello! I have a question about how Addressables work.

So say I wanted to spawn 100 particle systems from the same prefab. Is the advantage of Addressables:

  1. loading the asset reference one time and instantiating that result 100 times
    OR
  2. loading the asset reference 100 times and instantiating each individual result

The reason I ask is because I'm writing an AddressablesManager that would preload each prefab that I'm using and having other scripts instantiating them whenever they can. I'm just not sure if that's exactly how they're supposed to be implemented.

prisma kelp
# iron ridge Hello! I have a question about how Addressables work. So say I wanted to spawn...

If you want to instantiate them instantly, just use Addressables.InstantiateAssetAsync for each instance you want. Later you can release them with Addressables.ReleaseInstance(<instance ref / handle>).

If you want to load it into memory once then instantiate them as needed, use Addressables.LoadAssetAsync then Object.Instantiate the resulf of the operation for each instance. You would need to Object.Destroy each instance and then release the handle yourself.

You can also Addressables.InstantiateAssetAsync but instantly set them inactive or something to have them instantiated and ready, but not visible.

tropic kindle
#

Hi, I have a system that i wanna implement using the addresables and assetbundle.

So what I want to achieve is basically create a gallery app which has an external folder local/remote that it pulls the images and videos from. And when the content in the local/remote folder is updated or changed the same is reflected in the app without actually going into editor.

And the images/folder should be in thier own folder (basically a folder for any file type)
And the app should update the changes in the local/remote file structure.

I have also been reading on streaming Assets regarding this.
Any help and insight regarding this is much appreciated.

mild flax
tropic kindle
mild flax
tropic kindle
mild flax
tropic kindle
placid ruin
#

Hello, is there any way how to obtain simplified address from the AddressableCatalog, if I have the GUID from the asset?

cedar trail
#

How do I load everything with a label?

cedar trail
#

Ok, so I have this group here, with some things that have labels. When I try to load my scriptableobject like this:

Addressables.LoadAssetsAsync<NPCSchedule>("Schedule", a =>
            {
                print(a.name);
                loadedSchedules.Add(a);
            });

The path is found, but nothing is actually loaded. What am I doing wrong?

#

TestSchedule is the right type, I checked.

prime wedge
#

Beginnerish question regarding addressables and scriptable objects since I'm not that familiar with their relationship: If I change some values in some of my addressable SO assets, or use them for an event system and just swap out some references in some addressable prefabs, WITHOUT code changes, do I still have to rebuild my project or can I just publish the addressable changes and call it a day? (idk if this fits in #archived-code-advanced or not)

prime wedge
torpid mantle
#

i didn't rename anything

cedar trail
hexed sparrow
#

I have a situation where I'm loading a scriptable object via AssetReference, the loaded object has AssetReferences which then point to other assets (so on and so forth). I was wondering if there's a proper way to go about handling this sort of chain? I've seen a chain operation of some sort in the addressables/resource management API documentation but I haven't been able to find any documentation which describes if this is what I'm looking for or not.

#

Any tips?

hexed sparrow
hexed sparrow
hexed sparrow
hexed sparrow
hexed sparrow
cedar trail
hexed sparrow
#

Key not found?

#

Well it's not complaining because it does have a group with that tag.

#

As for why you're not seeing anything loaded, I have a suggestion.

#

One moment

#

Do something like this:

            var loadHandle = Addressables.LoadAssetsAsync<SomeType>( "key", (c)=> { ... } );
            loadHandle.WaitForCompletion();
            foreach( var res in loadHandle.Result )
            {
                Debug.Log(res.name);
            }
#

I saw a similar thing when trying to use the callback.

#

But waiting until the operation is completed, either synchronously or asynchoronously works better in my experience.

#

In the case above you see loadHandle.WaitForCompletion is called to stall the main thread until the loading is done in the background.

#

Then the results are available after.

#

I prefer using async methods and calling await on loadHandle.Task, personally.

#

But my code base requires alot of this sync calling with WaitForComplation as we're cramming Addressables in a bit late.

#

Does this make some sense @cedar trail?

cedar trail
hexed sparrow
#

Hope it helps

hexed sparrow
# stuck timber https://forum.unity.com/threads/addressables-loadassetasync-and-custom-script-as...

Actually I may be lying but I haven't looked too deeply. Look here for what appears to be loading of a component directly? (not sure at this point): https://github.com/Unity-Technologies/Addressables-Sample/tree/master/Basic/ComponentReference/Assets/Scripts

GitHub

Demo project using Addressables package. Contribute to Unity-Technologies/Addressables-Sample development by creating an account on GitHub.

stuck timber
#

what i ended up doing was write a generic static class to load and retrieve addressables, tying the type of asset to the generic and address to an enum

#

Sprite extension example:

public enum IngredientIconAddress
{
    CharcoalIcon, EggIcon, BaconIcon
}
public class IngredientIconHandler : OpHandler<Sprite, IngredientIconAddress>
{
}
hexed sparrow
#

Cool, glad you found something workable

stuck timber
#

The mb component generic:

public class OpHandlerPrefab<T, E> where E : System.Enum
{
    private static Dictionary<string, AsyncOperationHandle<GameObject>> _opHandles = new Dictionary<string, AsyncOperationHandle<GameObject>>();
    protected static string GetKeyStringAddress(E e) => e.ToString();

    public static T Get(E e)
    {
        var key = GetKeyStringAddress(e);
        if (_opHandles.ContainsKey(key))
        {
            return _opHandles[key].Result.GetComponent<T>();
        }
        return default;
    }

    public static IEnumerator Load(E e)
    {
        var key = GetKeyStringAddress(e);
        if (_opHandles.ContainsKey(key))
        {
            yield break;
        }
        var handle = Addressables.LoadAssetAsync<GameObject>(key);
        yield return handle;
        if (handle.Status == AsyncOperationStatus.Succeeded)
        {
            _opHandles.Add(key, handle);
        }
    }
    public static IEnumerator LoadAll()
    {
        var enumNames = System.Enum.GetNames(typeof(E));
        for (int i = 0; i < enumNames.Length; i++)
        {
            var key = enumNames[i];
            if (_opHandles.ContainsKey(key))
            {
                continue;
            }
            var handle = Addressables.LoadAssetAsync<GameObject>(key);
            yield return handle;
            if (handle.Status == AsyncOperationStatus.Succeeded)
            {
                _opHandles.Add(key, handle);
            }
        }
    }
    public static void Release(E e)
    {
        var key = GetKeyStringAddress(e);
        if (_opHandles.ContainsKey(key))
        {
            var handle = _opHandles[key];
            Addressables.Release(handle);
            _opHandles.Remove(key);
        }
    }
    public static void ReleaseAll()
    {
        foreach (AsyncOperationHandle<GameObject> handle in _opHandles.Values)
        {
            Addressables.Release(handle);
        }
    }
}
#

so in the end i just load in advance and use GetComponent<T> in the getter when retrieving the addressable

#

but u gotta treat it as game object everywhere else til u unbox it

hexed sparrow
#

Cool dude, thanks for sharing

stuck timber
#

absolutely

cedar trail
hexed sparrow
#

I've run into my fair share of issues. I'd really rather I not be migrating a product over to use it. A fresh start with proper opinions on initialization would be pretty nice.

#

No problem.

lucid mulch
#

guys how to cancel instantiateAsync or loadAsync immediately?

lime hornet
#

[QUESTION]
I never heard about addressables and came across them recently and want to know whether they are the solution to my problem.
My goal is to have a local folder that can be accessed during runtime and post-build. I should be able to add/remove/move/change etc. textures into that folder to load them dynamically during runtime into the application.
Are addressables going into the way of solving this task or am i on the wrong track?

cedar trail
lime hornet
untold jewel
#

Are there any decent resources on how to best organize addressables across groups? In my mind it seems like groups can be used either for specific types of assets (sprites, models, material) or for a domain of assets (soldiers, tanks, buildings, etc). Or are groups really necessary and you can just put all addressables in the same group. Note this is regarding desktop games and dont care about remote hosting.

wooden moss
jolly adder
#

Has anyone here had an issue with meshes loosing tangent data when using addressables? "Optimise Mesh Data" is off in player settings...

untold jewel
#

@wooden moss do you have a reference that would support your response?

#

Because your response would only apply if a scene has fixed assets and wouldn't include assets that could be used later on.

#

Like maybe a type of tank is not used when loading a scene but could be added later. Based on what you say that means any possible thing that could be loaded in that scene should be in the same group

wooden moss
#

i said: logical groups.
if you may need an asset you of course have to load it

wooden moss
untold jewel
#

Well you said everything in a scene so that's where I got that assumption sorry. So if you had a game with a bunch of factions then every faction could be considered a group?

wooden moss
rich plover
#

Hi,

Guys please help out me with this, it is really urgent

So I have a query regarding addressables that suppose I am creating a game which I want to get played on both android and IOS, so in what way can I export a single bundle which consists data for both platforms and upload it to the cloud (suppose total data size is 500 mb, data of 250 mb for each platform), then while downloading it in the apk itself once installed on the device how can I make it possible to download only the platform specific data from that single bundle which was uploaded on the cloud so that it does not download complete bundle of 500 mb and downloads only the required bundle size for that specific platform

thanks in advance

pearl sable
#

Is there an easy way to load assets with adressables using a URL at runtime like you would using UnityWebRequest?
like downloading a json file that contains the URLs to all the assets (mostly whole scenes) and be able to download and load the
scene by clicking a button in the game.

mild flax
#

@rich plover I believe you can also either use this technique or else build one set of assets and app per platform - but I’m not that familiar with the latter.

pearl sable
mild flax
pearl sable
pearl sable
muted salmon
#

so i got this error while trying to install unity package

#

someone pls help

languid widget
#

You need to be logged in and make sure package manager not blocked by firewall or security app

muted salmon
#

how do you check

#

for the firewall

nocturne fog
verbal harness
#

Question similar to addressables, the resource folder: I remember having to copy a folder from the /library into my Standalone compile folder to get /asset/resources to work in a live game. Is that true? I have since forgotten that and cannot internet search the information. If this is not the right subdiscord to use, let me know the proper one if you like.

wooden moss
#

best practice for any unity project: do NOT use the resources folder

verbal harness
sour rivet
#

How does Addressables behave regarding EditorOnly tag ? Does it still bundles things referenced on this object or does it behave as we would expect it : excluding it from bundle

verbal harness
#

Any clue on this standalone error: System.Exception: Invalid path in TextDataProvider : 'D:/starfighter/starfighter_Data/StreamingAssets/aa/settings.json'.

#

There is no settings.json in my datafiles at all

verbal harness
verbal harness
#

So weird, can't launch game, will be day 8 of not being able to make a standalone

hexed shell
dense swift
#

Hi, I am new to the world of addressables.
Am I correct to think that Groups = Bundles ? (I mean for each group, one bundle will be generated)

dense swift
lethal tundra
#

I have selected default locale greek but every time i start the app it changes to english. Any idea?

warm wagon
#

Is it possible to bundle files raw without having any asset processing? I have some JPG/PNG files I want bundled but just as the raw files.

I'm beginning to think that this is impossible without some workarounds

#

I'm finding that it wont accept the JPG/PNG files unless I convert to a texture

dense swift
#

You gotta change the import configuration for those specific files.

Or

just change extension(I imagine unity won't tell what it is) and add it to the group, it will get bundled as it is. Then you can load it as Texture on the run.

dense swift
warm wagon
lethal tundra
dense swift
dense swift
dense swift
simple oar
#

how to load prefabs using addressables?

warm wagon
#

I'm adding JPG files to an addressable group as shown.

#

When it comes to load them, trying to load the asset as a text asset with the key on the left gives me an invalid key error

#

Going through the keys in the catalogue just shows the one bundle file

#

Any ideas on what I'm doing wrong?

primal trench
#

Hi guys

#

I have a question

#

"UnityEngine.AddressableAssets" does not exist in the Node library section, how can I have it?

simple oar
#

like 0 percent -> 100%

warm wagon
#

There's also LoadAsync or something similar that just loads it into memory and gives you the reference to the prefab/image/etc. without instantiating it anywhere

hexed sparrow
#

Has anyone seen this after constructing an AssetReference and passing a guid from another instance of AssetReference into it's constructor?

InvalidKeyException: Exception of type 'UnityEngine.AddressableAssets.InvalidKeyException' was thrown

#

I'm providing a valid GUID which I retrieved from an AssetReference where the asset was assigned in the editor. Very confusing.

#

Can't really find any clues.

hoary stratus
#
Addressables.LoadSceneAsync((SceneManager.GetActiveScene().name+"Assets"), LoadSceneMode.Additive).Completed += SceneLoadComplete;

Why this code dont start SceneLoadComplete function on WebGL build? Any ideas?

#

It downloads bundle, adds it to cache and stuff, but never runs SceneLoadCompleted

modest herald
#

Hey I am having an issue with my apk being too large. I want to put my level scenes into an Assetbundle which now seems deprecated and we should use addressables but I cant figure out how to create an assetbundle from an addressables group and then have that not included in the apk. Any help would be much appreciated

modest herald
hoary stratus
modest herald
hoary stratus
#

I will try. Tho before I was able to make it work, so I am very confused.

modest herald
#

it does seem odd that it worked before and works in editor. Maybe Cache issue also?

hoary stratus
#

Well not webgl cashe, because my server setuped that it cleares cache on new webglbuild. It seems something with loading assets, it never completed. It downloaded but then stoped and did not actually loaded. maybe there is time out of download?

modest herald
#

could be I would check timeout settings on server

hoary stratus
#

Now when I think about it.. it should be the case, as size of asset did not change... Well I guess I will just go with it as long it works.

hoary stratus
modest herald
#

hmm no I have not

#

I will try that to reduce but I am really trying to figure out how to upload a game larger then 150mb to google play console

hoary stratus
modest herald
#

I just found something where there is an option in publish settings for split application binary I think this creates the traditional obb expansion file for android apps that might resolve it for me

hoary stratus
#

You can setup load addressables from remote server here.

modest herald
#

The google docs are confusing they say for unity to use assetbundles and then theres a small note saying no use addressables now and that links to unity docs that say how to use addressables but not how to use addressables as assetbundles

#

my brain hurts and its 2am also not helping lol

#

Cool I saw that too but then I have to host the addressables somewhere right?

#

I thought Google supported up to 500mb or something but the apk has to be under 150

hoary stratus
#

Today I show you how to use the Unity Addressable system to load and unload scenes in Unity, we will continue from my previous video where we setup Unity Addressables groups from a remote location path (remote server).

This tutorial assumes that you are familiar with Unity Scene Management system since we use load scene modes to keep a main sce...

▶ Play video
modest herald
#

Yeah loading Addressables I understand I have most of my assets loaded that way via code but its this assetbundle/expansionfile/addressable/binarysplit without hosting my own server deal

#

lol

#

Ill tackle it again tomorrow, good luck with the completion handler! I hope u figure it out!

hoary stratus
#

Thank you. Ger rest good luck tommorow

red cloud
#

Hi guys!! Is there a way to grab the name of an asset from an (unloaded) asset reference? The editor seems to do that when you drag/drop an asset into an AssetReference field. Thanks!

lethal tundra
#

When calling the LoadAssetAsync or DownloadDependenciesAsync is there a way to track show download speed and the mbs downloaded ?

warm wagon
#

Is there a nice way to "override" one adresssable with another?

E.G if I have "wood.jpg" in a loaded addressable...

I want to load a second addressable that also contains a "wood.jpg" that will take priority when loading

wild nova
wooden moss
warm wagon
wooden moss
warm wagon
#

It would be much easier to go

Load all Vanilla

Load Mods on top, overwriting if needed

wooden moss
#

and way more ram expensive

warm wagon
#

Not necessarily, did some testing of trying to load multiple of the same addressable address and it adds a tiny overhead

#

I have a clunky system for this anyway, I was just wondering if there's any Addressable-suggested or common way this is being done so far

wooden moss
#

if you have 2 different addressables that have practically the same data, you add 2x memory

warm wagon
#

Not if they use the same address

#

I'm not sure if it's noticing it's a copy and ignoring the load, or overwriting the old info

#

it does increase but not by anything noticeable

wooden moss
#

your approach is bothersome

warm wagon
#

This is how most modern moddable games do this, at least on the surface

#

The only difference is I'm using addressables because it makes prefab modding a lot easier

wooden moss
#

most modern moddable games do NOT load the same thing 2x

warm wagon
#

This isn't loading the same thing

#

This is having multiple assets using the same address

#

and overriding each one with the next

wooden moss
#

exactly

warm wagon
#

Which is quite a common way for mod loaders to work...

wooden moss
#

that's not how addressables work

warm wagon
#

From the bit of testing I've done so far, it is

#

I can replace an asset with a similar sized asset and I only see Ram usage go up by the difference, plus change

wild nova
#

you're just trying to add mod support to your game using addressables right?

wooden moss
#

seems you don't have any problem then

warm wagon
#

Like I said, I was just wondering if there was any Addresables-suggested methods for this or common practices

wild nova
#

aren't there tutorials on this?

warm wagon
#

Not on overriding specifically

wooden moss
#

if you are loading the mod addressable and not the vanilla adressable, you don't need to override

warm wagon
#

so item by item overriding is a necessity, it seems to be fine just loading them on top, and the Ram overhead seems minimal, but I definitely don't feel good about it with no docs on how that memory allocation is working

wooden moss
#

well, don't rely on unity for anything modding related. it's not something they support

warm wagon
#

I mean modding is a concept, Unity supports a lot of things commonly used in modding flows,

addressables are just the most proprietary thing they've made towards it

wooden moss
#

no i mean the unity team does not support modding of games.

#

addressables has nothing to do with modding nor was it explicitly made for modding

warm wagon
#

Their suggested tutorials on it are literally for modding

wooden moss
#

people on this discord even got warned because they even mentioned modding

#

so don't expect any docs on modding workflow

warm wagon
#

...They already have multiple for it on the official Unity Docs

#

and I find that hard to believe

wooden moss
#

i do not because it happened

wooden moss
warm wagon
#

a discussion on modding the Engine I would believe, but using Unity to allow modding a game, not at all

warm wagon
wooden moss
warm wagon
#

In that case I very much doubt it was because of the discussion topic 🙂 They have tons of references to it all over the place

wooden moss
#

it's literally still in the text channels here somewhere

#

anyway

bold pike
#

To be clear, we don't allow discussions on how to decompile/asset rip existing games. If you want to make your own game moddable, that's a different discussion.

wooden moss
#

ok, well that seemed somewhat different at the time. apologies

jolly adder
#

@wooden moss I believe you can load the metadata of all the bundles first, resolve the overrides, then load the assets

jolly adder
#

I'm currently trying to figure out what I need to do to support loading from addressables for mods

fervent terrace
#

hello, i need help with getting the same function as AsyncOperation.allowSceneActivation in addressables, any ideas? thanks in advance!

#

like i want to display a message first before the next scene load

outer skiff
#

hello

#

i need help

#

it's purple

fervent terrace
outer skiff
#

no

#

when i do
crtl + B

fervent terrace
#

and what does ctrl+b does?

#

in yr game

outer skiff
#

build and run

fervent terrace
#

so u build and run

outer skiff
#

yes

fervent terrace
#

usually i have this problem when i run in editor but works fine when i build first then run manually

#

dont know about build and run, sry mate

outer skiff
#

well I don't know because I build and run and it launches the game and the buttons are purple

fervent terrace
#

maybe wait for the experts in addressables to reply

outer skiff
#

yes ^^

vapid forum
#

To me the Addressable Asset System is perfect for mods, right?

verbal harness
#

Addressables are such an obnoxious pain, they won't work in standalone, despite literally not changing in UNITY eidtor since my last standalone.

#

Bring back the resources folder, at least it could compile standalones.

verbal harness
#

Can anyone please look at my settings? https://www.youtube.com/watch?v=A1XAGaf0n_4 1 min 11 sec video, I lost a literal 100 hours on this over the past three weeks on Unity Standalone headaches.

My standalone did not compile with addressables, despite it compiling to standalone with addressables before. I did not change anything with it.

Are my settings messed up or something? This Unity error is standing between me and frequent 2 patches a week patches in my game. 100 hours is a lot of time to lose in 3 weeks due to Unity issues. Ad...

▶ Play video
verbal harness
#

Its the same bug as I experience, it won't compile to .exe. How about you hire me as cheap as possible, I fly out there, fix it for you since no one could fix it in two years? Compiling to windows shouldn't be rocket science, for UNITY staff or Unity Users. Unity Users should just check one box that they want their addressables to compile with standalone. Why doesn't it do that? It's like owning a yacht that cannot leave port.

hexed shell
#

It really just sounds like that guy didn't build addressables before building the player

wooden moss
#

not had any problems with the localization package whatsoever. maybe your project is corrupt?

nimble plume
#

Thats an error in Unity. Its a bug in the reorderable list. The latest patch version of Unity should fix it.

glass eagle
#

why does the default path has "aa" as a folder ? What does this means ?

hexed shell
gentle quail
#

Hello Guys It's so nice to be here! I've a quick question before I will actually introduce myself.
We run a succesful game, we have however a problem with stacked download of the catalog.json from Google Storage. At initial loading of the game.
Did anyone have the same experience? And possible solution for that?

torpid mantle
#

Hello, I am trying to build a game but it always fails at the part when it builds it with Il2cpp and i get this error Message
"UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002bb] in <7d90b28560b644ce87b8263efcc36eed>:0
at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in <7d90b28560b644ce87b8263efcc36eed>:0
UnityEditor.EditorApplication:Internal_CallGlobalEventHandler()
"

#

Has anyone experience with that? looked around in the unity forms but it seems like everybody has only problems while trying to build on android but i am trying to do that on Windows with the version 2019.416f1 and have fishnet installed does that stop it from building?

hexed shell
honest hearth
#

For addressables, do i need a CCD/CDN or can i just sorta use a plain file/web server?

#

In a sence for small groups testing things as we go dont really want to pay for a cloud >.> but also dont want a log of extra work either, so like the catalog info and such does it need a certain kind of server or just have those files accessable like threw a url

torpid mantle
#

Is this the right error Message?

#

"Exception: C:\Program Files\Unity\Hub\Editor\2019.4.16f1\Editor\Data\il2cpp/build/deploy/net471/il2cpp.exe did not run properly!

Failed running "C:\Program Files\Unity\Hub\Editor\2019.4.16f1\Editor\Data\il2cpp/build/deploy/net471/il2cpp.exe" --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile="unityaot" --compile-cpp --libil2cpp-static --platform="WindowsDesktop" --architecture="x86" --configuration="Release" --outputpath="C:\Users\pross\Documents\David 3d\Unity\Allstarsclonclone\Temp/StagingArea/Data\Native\GameAssembly.dll" --cachedirectory="C:\Users\pross\Documents\David 3d\Unity\Allstarsclonclone\Assets..\Library/il2cpp_cache" --profiler-report --map-file-parser="C:/Program Files/Unity/Hub/Editor/2019.4.16f1/Editor/Data/Tools/MapFileParser/MapFileParser.exe" --directory="C:/Users/pross/Documents/David 3d/Unity/Allstarsclonclone/Temp/StagingArea/Data/Managed" --generatedcppdir="C:/Users/pross/Documents/David 3d/Unity/Allstarsclonclone/Temp/StagingArea/Data/il2cppOutput"

stdout:
il2cpp.exe didn't catch exception: System.InvalidOperationException: C++ code builder is unable to build C++ code. In order to build C++ code for Windows Desktop, you must have one of these installed:
Visual Studio 2015 with C++ compilers and Windows 10 SDK (it cannot build C++ code because it is not installed or missing C++ workload component)
Visual Studio 2015 installation is found by looking at "SOFTWARE\Microsoft\VisualStudio\14.0_Config\InstallDir" in the registry
Windows 10 SDK is found by looking at "SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0\InstallationFolder" in the registry

#

Visual Studio 2017 (or newer) with C++ compilers and Windows 10 SDK (it cannot build C++ code because it is not installed or missing C++ workload component)
Visual Studio 2017 (or newer) installation is found using Microsoft.VisualStudio.Setup.Configuration COM APIs
Windows 10 SDK is found by looking at "SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0\InstallationFolder" in the registry

#

bei Unity.IL2CPP.Building.CppProgramBuilder.ThrowIfCannotBuildInCurrentEnvironment()
bei Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)
bei il2cpp.Program.DoRun(String[] args, List`1 foundAssemblies)
bei il2cpp.Program.Run(String[] args, Boolean setInvariantCulture)
bei il2cpp.Program.Main(String[] args)
stderr:

#

Unbehandelte Ausnahme: System.InvalidOperationException: C++ code builder is unable to build C++ code. In order to build C++ code for Windows Desktop, you must have one of these installed:
Visual Studio 2015 with C++ compilers and Windows 10 SDK (it cannot build C++ code because it is not

#

installed or missing C++ workload component)
Visual Studio 2015 installation is found by looking at "SOFTWARE\Microsoft\VisualStudio\14.0_Config\InstallDir" in the registry
Windows 10 SDK is found by looking at "SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0\InstallationFolder" in the registry

    Visual Studio 2017 (or newer) with C++ compilers and Windows 10 SDK (it cannot build C++ code because it is not installed or missing C++ workload component)
    Visual Studio 2017 (or newer) installation is found using Microsoft.VisualStudio.Setup.Configuration COM APIs
    Windows 10 SDK is found by looking at "SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0\InstallationFolder" in the registry

bei Unity.IL2CPP.Building.CppProgramBuilder.ThrowIfCannotBuildInCurrentEnvironment()
bei Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)
bei il2cpp.Program.DoRun(String[] args, List`1 foundAssemblies)
bei il2cpp.Program.Run(String[] args, Boolean setInvariantCulture)
bei il2cpp.Program.Main(String[] args)

UnityEditorInternal.Runner.RunProgram (UnityEditor.Utils.Program p, System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser) (at <7d90b28560b644ce87b8263efcc36eed>:0)
UnityEditorInternal.Runner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, System.Action1[T] setupStartInfo) (at <7d90b28560b644ce87b8263efcc36eed>:0) UnityEditorInternal.IL2CPPBuilder.RunIl2CppWithArguments (System.Collections.Generic.List1[T] arguments, System.Action`1[T] setupStartInfo,

#

gosh is this thing long

fervent arch
#

It's telling what the error is and how to fix it

torpid mantle
#

And can I translate it somewhere that smallbrains like me are able to understand it?

fervent arch
#

Which part is unclear?

torpid mantle
#

i dont know why it is missing the c++ workload component or what this is

fervent arch
#

Not really important why they were missing now that you know what you need, is it?

torpid mantle
#

I guess so

dusk lodge
#

hmmm
I am having this error in Android Build

#

Build won't work because of it

#

I am not certain though if addressables is the one to blame here, but stacktrace ends on it

glass eagle
#

Is it normal that Addressables creates an empty StreamingAssests folder in the editor ?

proper badger
#

this is especially relevant if you're using a remote configuration, depending upon your content delivery, you'll likely need to use a build process that ensures that folder hooks into your build pipeline if depending on your setup.

primal saffron
#

Hello ! I have another problem (yes, again...)
I did solve my problem with addressable I had sooner, but now, my problem is : It's working only if I don't unload any scenes.
I looked in google and it basically saying me this : " The SceneInstance to handle is added to the cache of scene loads upon Scene load complete. It will also be removed from the handles cache if the Scene was unloaded by other means, such as if you previously did a LoadSceneAsync( "otherscene", SceneLoadMode.Single). Because SceneLoadMode.single will unload other scenes. If you load another scene before this, the scene you are trying to unload will already be unloaded and removed.
" in a message from unity technologies.

Well yeah, great, but now I'm stuck since I start in a main menu, which load me a environment and a level on top of that (which give me : One scene unloaded and two scenes loaded) and I want to restart le level one, which work...If I load it in additive on top of my menu. Which is not what I want either.

Could someone help me please ? I'm so lost to be honest...

prisma kelp
#

Good morning!

Is it better to explicitly include dependencies in a group? For example for our character models we typically just include assets we directly load via addressables such as the prefab, animation controller, and blendshapes. But there are other assets such as materials, textures, animations etc. that implicitly get included during the build.

I was thinking that it might reduce build times a bit (reduce the work required for the calculating dependencies stage) but it didn't seem to have much of an effect... What do you guys think?

lost marten
#

Hello ! One more question ! 🙂
I've seen that the cache expiration is 150 days, how could I remove this limitation to get "eternal" caching of my assets, and only clear the cache manually when I need to ?
I did not find how to get access to this parameter :/

violet flume
native steppe
#

yo how do i turn my assets into a animation

jolly adder
#

is there any way to get the Addressable Groups tab to refresh after modifying files outside of unity?

lost marten
#

Hi,
I'm using Unity 2021.3.0f1, and I would like to upgrade to addressables 1.20.3 but the packages manager only shows me version 1.19.19
How could I do this upgrade, if this is possible ?

lost marten
#

For those who know, I'm stuck on the "scriptable objects references are lost within addressables"... It seems that some people did find a solution to this problem, but it's still not clear to me on how to solve this problem.
Does anyone here have some advices to share on this topic ?

undone hound
#

What happens to a partially downloaded addressable/ catelogue?

lunar shard
#

one that fails to fully download? i assume it gets purged from memory and therefore not cached on a user's machine.

undone hound
#

more for the user closing the app

lunar shard
#

I believe they would have to start over from 0, there is no "partial download" written to disc that I am aware of

undone hound
#

thanks

frank crown
#

Hey, could someone help me. Me and my friend made an organization project and its not showing up on our unity hub

violet prairie
#

did you try rename it