Search Unity

Addressables are here!

Discussion in 'Addressables' started by audrey-unity, Jun 15, 2018.

Thread Status:
Not open for further replies.
  1. unity_bill

    unity_bill

    Joined:
    Apr 11, 2017
    Posts:
    1,053
    Thank you for reporting this. we have been focusing on mobile and desktop support. We have started addressing the console compatibility issues, and will continue over the coming months.
     
    arvzg and futurlab_peterh like this.
  2. unity_bill

    unity_bill

    Joined:
    Apr 11, 2017
    Posts:
    1,053
    looks like it's a bug in our catalog loading system. Thanks for letting us know, I've logged it.
     
  3. unity_bill

    unity_bill

    Joined:
    Apr 11, 2017
    Posts:
    1,053
    The fix for this is coming in the next release (.5), but the short version is that you're getting this due to accessing addressables too early. Most likely in an awake. You can also see it if you are in play mode and your scripts are recompiled (even if you don't access in awake). Fix is on it's way.
     
    okushin and Quatum1000 like this.
  4. FlorentFal

    FlorentFal

    Joined:
    Nov 20, 2015
    Posts:
    55
    @unity_bill
    Hi when I open the Addressables window in editor and select a Group, I've got following error that sometime don't allow to rename a group. (Unity 2018.3.0.b8 + "com.unity.addressables": "0.4.6-preview")

    Code (CSharp):
    1. ArgumentException: GUILayout: Mismatched LayoutGroup.repaint
    2. UnityEngine.GUILayoutUtility.BeginLayoutGroup (UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options, System.Type layoutType) (at /Users/builduser/buildslave/unity/build/Modules/IMGUI/GUILayoutUtility.cs:311)
    3. UnityEditor.EditorGUILayout.BeginHorizontal (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/builduser/buildslave/unity/build/Editor/Mono/EditorGUI.cs:8944)
    4. UnityEditor.EditorGUILayout.BeginHorizontal (UnityEngine.GUILayoutOption[] options) (at /Users/builduser/buildslave/unity/build/Editor/Mono/EditorGUI.cs:8928)
    5. UnityEditor.AddressableAssets.AddressableAssetGroupInspector.OnInspectorGUI () (at Library/PackageCache/com.unity.addressables@0.4.6-preview/Editor/GUI/AddressableAssetGroupInspector.cs:69)
    6. UnityEditor.InspectorWindow.DoOnInspectorGUI (System.Boolean rebuildOptimizedGUIBlock, UnityEditor.Editor editor, System.Boolean wasVisible, UnityEngine.Rect& contentRect) (at /Users/builduser/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:1608)
    7. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

    =====UPDATE=====
    See this Odin Inspector issue tracker for infos & workaround (until next addressable assets release - current is 0.4.8)
     
    Last edited: Nov 22, 2018
    noxxomatik likes this.
  5. igoraleftinovich

    igoraleftinovich

    Joined:
    Feb 11, 2017
    Posts:
    17
    Hi!

    Is there any way to get address of the prefab from C#? Something like
    Code (CSharp):
    1. [SerializeField]
    2. GameObject m_prefab;
    3. ...
    4. string prefabAddress = Addressables.GetAddress(m_prefab);
    Thanks!
     
  6. jedh

    jedh

    Joined:
    Aug 26, 2014
    Posts:
    16
    Is there a general best practice with streaming remote assets from a CDN using asset references? I'm not quite understanding how you can stream in new remote assets if you need to have the addressable existing in the build in order to link the references.

    Additionally, in packed mode, is there a way to force the loader to hit the CDN? I don't think the addressables I have set to the remote load path are actually hitting the CDN (just using the build paths on the hard drive instead)? Thanks!
     
    AustynPember likes this.
  7. alexvirtro

    alexvirtro

    Joined:
    Oct 24, 2018
    Posts:
    1
    Hi, looking forward to this new system, it's looking really cool! I was just wondering if it was possible to use addressable assets to store scripts and load them in between unity projects? It seems like they have to be pre-compiled to be read during run-time. And if you have any resources for setting up a load path from your own server? Right now it's still reading from the local hard drive.

    Cheers, thanks

    Alex
     
  8. jedh

    jedh

    Joined:
    Aug 26, 2014
    Posts:
    16
    Additionally since the latest update something happened and my entire project is now boned, here's the error:


    NullReferenceException: Object reference not set to an instance of an object
    UnityEditor.AddressableAssets.AddressableAssetSettings.FindAssetEntry (System.String guid) (at C:/Users/jedh/AppData/Local/Unity/cache/packages/staging-packages.unity.com/com.unity.addressables@0.4.8-preview/Editor/Settings/AddressableAssetSettings.cs:885)
    UnityEditor.AddressableAssets.AddressableAssetSettings.OnPostprocessAllAssets (System.String[] importedAssets, System.String[] deletedAssets, System.String[] movedAssets, System.String[] movedFromAssetPaths) (at C:/Users/jedh/AppData/Local/Unity/cache/packages/staging-packages.unity.com/com.unity.addressables@0.4.8-preview/Editor/Settings/AddressableAssetSettings.cs:1165)
    UnityEditor.AddressableAssets.AddressablesAssetPostProcessor.set_OnPostProcess (System.Action`4[T1,T2,T3,T4] value) (at C:/Users/jedh/AppData/Local/Unity/cache/packages/staging-packages.unity.com/com.unity.addressables@0.4.8-preview/Editor/Settings/AddressableAssetPostProcessor.cs:32)
    UnityEditor.AddressableAssets.AddressableAssetSettingsDefaultObject.LoadSettingsObject () (at C:/Users/jedh/AppData/Local/Unity/cache/packages/staging-packages.unity.com/com.unity.addressables@0.4.8-preview/Editor/Settings/AddressableAssetSettingsDefaultObject.cs:52)
    UnityEditor.AddressableAssets.AddressableAssetSettingsDefaultObject.get_Settings () (at C:/Users/jedh/AppData/Local/Unity/cache/packages/staging-packages.unity.com/com.unity.addressables@0.4.8-preview/Editor/Settings/AddressableAssetSettingsDefaultObject.cs:101)
    UnityEditor.AddressableAssets.AddressableAssetsWindow.OnGUI () (at C:/Users/jedh/AppData/Local/Unity/cache/packages/staging-packages.unity.com/com.unity.addressables@0.4.8-preview/Editor/GUI/AddressableAssetsWindow.cs:67)
    System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <f2e6809acb14476a81f399aeb800f8f2>:0)
    Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <f2e6809acb14476a81f399aeb800f8f2>:0)
    System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <f2e6809acb14476a81f399aeb800f8f2>:0)
    UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:295)
    UnityEditor.HostView.Invoke (System.String methodName) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:288)
    UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:261)
    UnityEditor.DockArea.OldOnGUI () (at C:/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:392)
    UnityEngine.Experimental.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, System.Boolean isComputingLayout) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:216)
    UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)


    It's GUI based by the looks of it - re-downloading the packages, deleting the obj and Library folders have done nothing. Rebuilding hasn't done anything either. Any advice? Bit of a major stop gap for me.
     
    aurelien-morel-ubiant likes this.
  9. MarcoWilliamsMS

    MarcoWilliamsMS

    Joined:
    May 19, 2018
    Posts:
    2
    Allan-Smith, did you ever get any resolve to your #2 question. This is actually a requirement from Apple. I've been rejected twice for our game submission because we were not providing the total size of the downloaded assets before loading the game. Does anyone know if there is a way to get Total Download size? In addition, does anyone know if apple will just allow you to get away with specifying only the percentage complete?
     
  10. MarcoWilliamsMS

    MarcoWilliamsMS

    Joined:
    May 19, 2018
    Posts:
    2
    Never mind, I found this side thread: https://forum.unity.com/threads/req...pre-downloading-caching-remote-groups.537354/
     
  11. unity_bill

    unity_bill

    Joined:
    Apr 11, 2017
    Posts:
    1,053


    For both of you, if you could open a bug through the Unity Bug Reporter, that would help us get the info we need. Including your project or a sample project would be great.
    Thanks for trying out addressables,
    Bill
     
  12. unity_bill

    unity_bill

    Joined:
    Apr 11, 2017
    Posts:
    1,053
    Can you elaborate on exactly what you're getting rejected for? The rule mentioned in the thread you later link says must comply after January 1st, 2019. So I'm wondering what's causing you to be turned back today.

    Thanks for the info,
    Bill
     
  13. Mazak

    Mazak

    Joined:
    Mar 24, 2013
    Posts:
    226
    Hello Everybody,
    I have been wanting for this feature ever since I started using unity... a long time ago.

    How dangerous is the code base with the current 0.4.8?

    Is it good enough to begin trusting it for our beta? I am an old developer and can fix anything.

    One feature I am trying to figure out is how to share a ship prefab between the launcher and game. The goal is to introduce a ship/weapon/shield - display it in the launcher to allow players to purchase the item(s) and use it in the game.

    I would prefer having one prefab that is shared between the two projects.

    Thanks! Keep up the good work.
    David
     
  14. unity_bill

    unity_bill

    Joined:
    Apr 11, 2017
    Posts:
    1,053
    Our next release is probably the one I'd call "not too dangerous". We have been telling people not to use addressables to ship a game until a little bit into 2019, but if you are willing to bear with us as we solidify things, you are welcome to use it now for your game. The largest changes coming up are changes to the build script. So if you need to write your own custom build system on top of ours, then you might have to change some things as we change the underlying behavior. If you are largely good with out-of-the-box functionality, then you can probably use it.

    sounds like you have two separate Unity projects that are built into two separate games? if you can make Unity in general share prefabs across projects, then addressables can. As far as I know, that's doable, but requires more details to setup than I can reasonably add here.

    -Bill
     
    Mazak likes this.
  15. Mazak

    Mazak

    Joined:
    Mar 24, 2013
    Posts:
    226
    Thanks Bill,

    Shields up we are going in!
     
  16. arvzg

    arvzg

    Joined:
    Jun 28, 2009
    Posts:
    619
    Is there any update or ETA at all on console support? I'm in the early stages of development, so I'm happy bearing through any early bugs with Addressables, but with Addressables completely breaking compiling in builds for consoles, I can't even begin to use it in my project right now
     
  17. FlorentFal

    FlorentFal

    Joined:
    Nov 20, 2015
    Posts:
    55
    Hello,
    I'm trying to execute a content update worklfow on an android project. But when I click on "Build for content update", I've to select what should be if I'm refering to your LA demo an "addressables_content_state.bin" file created on last build. But on android build, I'dont find any thing like that, only following files: myBuild.apk, myBuild.obb & myBuild-0.1-v1.symbols.zips (Unity 2018 beta8)

    What should we have to select for mobile builds (both android and iOS) ?

    Thank you for your help & keep the good work, my game should be publish next year and is based on prefab variants and addressables systems (to load only assets that match devices ppi) so I think it's not my last question !!

    Have a nice day

    Florent
     
    Last edited: Nov 16, 2018
  18. unity_bill

    unity_bill

    Joined:
    Apr 11, 2017
    Posts:
    1,053
    I believe you are looking in the correct space. We do have a known bug right now that if none of your addressable groups are marked as "static" then we don't create that file. We'll get that fixed, but in the mean time, please verify at least one of your groups has that flag so the file gets generated. Also, you could try building for stand alone windows just to make sure it's not something going weird with android.

    -Bill
     
    diego_mp likes this.
  19. mazzino

    mazzino

    Joined:
    Jan 30, 2012
    Posts:
    15
    Hi,
    is it possible to check whether the addressable asset was previously downloaded to cache and is up-to-date (in latest possible version corresponding to the asset in external location)? We're triggering downloads of larger individual assets based on a user action and it is crucial for us to have this functionality to reflect the state of it in a UI element (because it would mean that Addressables.Instantiate doesn't need to do downloading from remote first for some of the elements and does need to do it for the others).

    Thanks for your help and Addressables in general, it seems to be a huge workflow improvement with nice customization possibilities.
     
  20. FlorentFal

    FlorentFal

    Joined:
    Nov 20, 2015
    Posts:
    55
    Run throught same problem, lost my whole day on it !! :( :( ... this message occur at build step but will also make asset loading (at least remote assets) failed. It happens if you create a new asset group without setting its "Build path", see attached screenshot.

    For info @unity_bill





     

    Attached Files:

    GilesCoopeAkelius likes this.
  21. pat_unity618

    pat_unity618

    Joined:
    Nov 22, 2018
    Posts:
    4
    Bill, These addressables are awesome! I'm so close to getting it to work for my current project. Just one issue.

    I've set a scene as an addressable and when I load it in in "virtual or fast play" everything is fine. When I load it in "packed mode" or via a server the lightmaps are missing. Can you help?
     
  22. Darkwing_Duck

    Darkwing_Duck

    Joined:
    Sep 29, 2016
    Posts:
    11
    Hi guys, I have a trouble with addressables scene.
    I moved my heavy scene to addressable asset, I can load it like this
    Code (CSharp):
    1. Addressables.LoadScene("HeavyScene");
    and in addressables profiler I see 1 reference - its ok!

    But how can I unload the scene? Tried everything but I can't to do this. And when I load the scene second time the addressable profiler shows 2 reference count.

    I use 0.4.8-preview version
    Help me please :)
     
    Last edited: Nov 24, 2018
  23. AustynPember

    AustynPember

    Joined:
    Mar 14, 2018
    Posts:
    17
    This is what I am wondering as well. Have you figured it out yet?
     
  24. davidosullivan

    davidosullivan

    Joined:
    Jun 9, 2015
    Posts:
    387
    I'm having some issues with the AssetReference field in a custom editor.
    While I can get it to draw using:
    EditorGUILayout.PropertyField(serializedObject.FindProperty("someAssetReference"));
    I see the popup and can search the results but choosing anything from the list just closes the poup and doesn't select anything. I have tried wrapping in a change check and applying modified properties but that doesn't help and usually 'PropertyField' kind of does everything for you, so that shouldn't be needed anyway...
    I'm also trying to draw a list of elements that include an AssetReference in a ReorderableList and in this scenario I dont see anything drawn at all :(
     
  25. iamarugin

    iamarugin

    Joined:
    Dec 17, 2014
    Posts:
    883
    Hey, I am using unity 2018.3b10 and Addressables 0.4.8 Everything works like a charm, but every time I change a prefab I get next error in console:

    Code (CSharp):
    1. NullReferenceException: Object reference not set to an instance of an object
    2. UnityEditor.AddressableAssets.BundledAssetGroupSchema.get_HostingServicesContentRoot () (at Library/PackageCache/com.unity.addressables@0.4.8-preview/Editor/Settings/GroupSchemas/BundledAssetGroupSchema.cs:118)
    3. UnityEditor.AddressableAssets.HostingServicesManager.GetAllContentRoots () (at Library/PackageCache/com.unity.addressables@0.4.8-preview/Editor/HostingServices/HostingServicesManager.cs:393)
    4. UnityEditor.AddressableAssets.HostingServicesManager.ConfigureAllHostingServices () (at Library/PackageCache/com.unity.addressables@0.4.8-preview/Editor/HostingServices/HostingServicesManager.cs:372)
    5. UnityEditor.AddressableAssets.HostingServicesManager.OnSettingsModification (UnityEditor.AddressableAssets.AddressableAssetSettings s, UnityEditor.AddressableAssets.AddressableAssetSettings+ModificationEvent evt, System.Object obj) (at Library/PackageCache/com.unity.addressables@0.4.8-preview/Editor/HostingServices/HostingServicesManager.cs:365)
    6. UnityEditor.AddressableAssets.AddressableAssetSettings.SetDirty (UnityEditor.AddressableAssets.AddressableAssetSettings+ModificationEvent modificationEvent, System.Object eventData, System.Boolean postEvent) (at Library/PackageCache/com.unity.addressables@0.4.8-preview/Editor/Settings/AddressableAssetSettings.cs:865)
    7. UnityEditor.AddressableAssets.AddressableAssetSettings.OnPostprocessAllAssets (System.String[] importedAssets, System.String[] deletedAssets, System.String[] movedAssets, System.String[] movedFromAssetPaths) (at Library/PackageCache/com.unity.addressables@0.4.8-preview/Editor/Settings/AddressableAssetSettings.cs:1239)
    8. UnityEditor.AddressableAssets.AddressablesAssetPostProcessor.OnPostprocessAllAssets (System.String[] importedAssets, System.String[] deletedAssets, System.String[] movedAssets, System.String[] movedFromAssetPaths) (at Library/PackageCache/com.unity.addressables@0.4.8-preview/Editor/Settings/AddressableAssetPostProcessor.cs:42)
    9. System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <ac823e2bb42b41bda67924a45a0173c3>:0)
    10. Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    11. System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <ac823e2bb42b41bda67924a45a0173c3>:0)
    12. System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <ac823e2bb42b41bda67924a45a0173c3>:0)
    13. UnityEditor.AssetPostprocessingInternal.PostprocessAllAssets (System.String[] importedAssets, System.String[] addedAssets, System.String[] deletedAssets, System.String[] movedAssets, System.String[] movedFromPathAssets) (at C:/buildslave/unity/build/Editor/Mono/AssetPostprocessor.cs:141)
    Is there anything I can do to stop receiving this error?
     
  26. Kolyasisan

    Kolyasisan

    Joined:
    Feb 2, 2015
    Posts:
    397
    Someone please explain, how in the world Addressables replace default prefab and instantiation workflows? I've been digging in it for several hours and I can't find a way on how to have the addressable object be loaded and instantiated on the same frame synchronously. I find it way too dubious to have it usable in async-only.
     
  27. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    973
    Loading asset bundles is always going to be an async process. If you need guaranteed synchronous instantiation, you need to load the prefab with LoadAsset instead of Instantiate, save the reference somewhere, then instantiate that prefab as normal, remembering to ReleaseAsset at the end, when you have destroyed all instances and have no use for it anymore.

    As far as I am aware, if your bundle is already loaded Instantiation via Addressables.Instantiate returns synchronously too, and you could preload your asset bundle, but I don't know if it is not going to be unloaded at some point when you transiently destroy what is the last active instance of the prefab for that particular point in time.
     
    Kolyasisan likes this.
  28. unity_bill

    unity_bill

    Joined:
    Apr 11, 2017
    Posts:
    1,053
    Not yet, but we already have it on our list to work on.
     
    noxxomatik and mazzino like this.
  29. Allan-Smith

    Allan-Smith

    Joined:
    Feb 7, 2012
    Posts:
    57
    Hi, I've started a project back in July using Addressables and I had but demo project up and running with Addressables preview 0.1.2. For various reasons I had to stop my project for a while and just now am having the time to get back into it, and decided to update my Addressables version to the latest (0.4.8). Apparently I've lost everything, which is fine, my project is still small and its a feature still in preview so no worries there, however either I am missing something or the documentation is now very outdated... when I look into the Group Settings inspector, there are so many things to configure I don't even know what they truly mean and I'd rather not have to dig through the code to figure out... I dont know, I feel now that it is a bit unclear at least for me on how to work with the addressables... how to set them to be downloaded from somewhere, how to test properly in the inspector... which Schema I should use... so the questions I have are:

    1 - From the looks of it, BundledAssetGroupSchema is the to go schema as you can configure it in many ways... which makes me wonder, what are the other schemas useful for?

    2- Use Asset Bundle Cache, if this checkbox is on, it will try NOT to download new bundles if the hash havent changed between local version and remote version, and if it is off, it will always download even if its the same version?

    3- Chunked Transfer, I am far from a web protocols expert... when is it better to use HTTP/1.1 chunked-transfer encoding and when its not?

    4- Build Path and Load Path are simple enough, they are configured in the main asset bundle to configure the addressables right?

    5- Asset Bundle Provider Type... there are a lot of options here, and honestly most of them dont mean much to me. I assume that most of the time unless I am doing something way out of the box I just want to use AssetBundleProvider, regardless if its local remote or whatever?

    6- Not sure exactly what prepare/build for content update mean... I mean, with asset bundles I would build everything/build changed, upload everything to server, and based on version game would download only what is necessary... now I dont know how to "build" anymore without having to hit play in the editor with packed mode... and build for content requires a bin file, what file would that be?

    7- To test with a local server, if I remember correctly there was a very easy way to do it, is that still the case? I've noticed that if I change to build to Remote folder, and load from Remote address (localhost), it doesnt find the host (I havent started a local server so I believe that is expected). How to go about this? Is there a way to simulate connection, or should I try and use something like Clumsy to simulate ping/packet loss? I had a look at the hosting configs and while it makes sense Im still not sure where I configure this local host? Or is this up to me to do with apache or something like that?

    8- Why would I mark stuff as static content? I mean, if I put it in a group that is configured for local build path and local load path, isnt that basically the same as static already?

    Sorry for all these questions, I am sure most of them are basic stuff, but honestly I couldn't find those answers here nor here.

    Thank you very much for this system though, it is a huge, major improvement already to what we had with AssetBundles for all I can see so far!

    Best,
    Allan
     
    diego_mp likes this.
  30. MrCool92

    MrCool92

    Joined:
    Jul 13, 2015
    Posts:
    26
    I am also having the same issue. I have one scene in a bundle with duplicate asset isolation. Every model and ui image that have custom material are pink...
     
  31. davidosullivan

    davidosullivan

    Joined:
    Jun 9, 2015
    Posts:
    387
    @unity_bill Did you see my post about the inspector issues I had regards AssetReference? Any chance of those issues getting on your todo list to be fixed?
     
  32. henkjan

    henkjan

    Joined:
    Aug 1, 2013
    Posts:
    146
    I have a question about the asset bundles when working with Unity Build Cloud. In former projects we use a post build script that FTP's the asset bundles to our server after UBC successfully build a version. This works fine although it was a lot of testing to figure out where UBC stores the asset bundles.

    What is the best approach with addressables? Is there an easier way to accomplish this with UBC? or do I have to do the same because eventually asset bundles are build and stored the same way in UBC?
     
  33. diego_mp

    diego_mp

    Joined:
    Jun 12, 2017
    Posts:
    23
    Hey Audrey, could you (or someone else) add the line required to the manifest into the getting started?
    Right now you have to waste time searching the thread in order to get it to work.
    Even better, why don't you include it in the package manager since U18.2 is supposed to support the addressable system?

    "com.unity.addressables": "0.1.2-preview"

    Many thanks!

    Diego
     
  34. obrodhage

    obrodhage

    Joined:
    Jun 6, 2013
    Posts:
    10
    @unity_bill First of all, great job on this new system!

    In order to keep my game project nice and lean, I'm creating all my assets in a separate Unity project.
    What's the suggested workflow for loading addressable assets that were created with a different project?
    Can Unity projects share Adressable Asset Settings?

    Thanks :)
     
    Last edited: Dec 7, 2018
  35. Twyker_gp

    Twyker_gp

    Joined:
    Dec 4, 2018
    Posts:
    29
    Have the problems with loading scenes in packed mode been addressed yet (last two pages back)?

    Unity tells me the AssetBundle containing my scenes have not been loaded, but with scenes, Addressables.LoadScene(...) schould be enough, right?

    EDIT: Figured it out. Local and Build path were different. :x
     
    Last edited: Dec 12, 2018
  36. henkjan

    henkjan

    Joined:
    Aug 1, 2013
    Posts:
    146
    Nobody?
     
  37. FlorentFal

    FlorentFal

    Joined:
    Nov 20, 2015
    Posts:
    55
    Hi @unity_bill

    Do a max length and/or size limits exist for a single asset group ?
    I'm currently fights with an addressable group loading strange error:
    I've got an addressable group (remote loaded) with 80 png files inside. And Addressable asset loading fail 5 times (Request timeout - 5 time because its the retry count setting) and then trigger the Completed callback (async task). If I loop on async task results I found 80 items but it's all null values.

    Now if I remove some png file to get 20 file in addressable group, it's work !

    I can create an issue if you want with a simple project .

    Unity 2018.3.0b11 - Addressable 0.4.8 (hosted by editor) - Android build (Mono)
    See attached log file.

    Update 1: Problem start to happen when group contain 29 files (approx 620ko/file), bundle size is 25,1 Mo.
    It do not happen with 28 files, bundle size of 24,2 Mo.

    Update 2 - Workaround :
    FYI using chuncked transfert option do not solve issue.
    But setting a higher (60s) timeout value does ! So it's like if the timeout setting was not a "timeout" but a max loading duration....!?? (But doc say timeout field is the
    UnityWebRequest timeout property so I'don't understand why timeout is not handle correctly, maybe the editor webserver implementation is missing something...??)
     

    Attached Files:

    Last edited: Dec 19, 2018
  38. roshaantariq

    roshaantariq

    Joined:
    Dec 6, 2017
    Posts:
    32
    Hey, I have one question: Which server companies are best for hosting addressables? I'm currently running them on localhost but now I want to live my game on stores. What should I do at this point?
     
  39. MNNoxMortem

    MNNoxMortem

    Joined:
    Sep 11, 2016
    Posts:
    723
    We uploaded our bundles to http://myserver.com/bundles/x64 and set this as RemoteLoadPath for the bundle, however, when using the remote path it seems to be unable to load the bundle.

    When we use a local directory it works both in Editor as well as a Windows x64 build.

    Any ideas?

    Update: Works now, not exactly sure what the necessary change war. Likely to set the folder as indexable.
     
    Last edited: Dec 13, 2018
    Twyker_gp likes this.
  40. teunververs

    teunververs

    Joined:
    May 22, 2015
    Posts:
    27
    I keep getting the following issue.

    When I apply changes to a prefab that I've made addressable, I get a NullReferenceException.

    upload_2018-12-13_16-55-49.png

    It seems to fix itself when I delete and recreate the AddressableAssetsData folder (by hand), but this is becoming a lot of work and after a while the error returns.
     
  41. Joe_MagicLeap

    Joe_MagicLeap

    Joined:
    Apr 7, 2015
    Posts:
    5
    @unity_bill Love what you're doing :D
    I'm looking to use Editor Hosted work flow, with a built player. Where I can iterate on a prefab or art and see it on device.
    Should I use "Content Update" schema? Feels a little heavy handed.
    But with "Build/Build Packed Data" going away, and the bundles being referenced by hash, the default Editor Hosting profile won't let you hot swap bundles.

    Perhaps "Content Update" is need to ensure dependencies are handled correctly.
     
  42. henkjan

    henkjan

    Joined:
    Aug 1, 2013
    Posts:
    146
    Seems like this problem starts when working with Git and multiple users!
    I think we have to abandon addressables until it's fixed :-(
     
  43. XRA

    XRA

    Joined:
    Aug 26, 2010
    Posts:
    265
    *EDIT* actually others have mentioned this already. I got it loading in standalone builds (windows), just with this exception on first run:

    Exception: RawDataProvider unable to load from url file:///C:/Users/XRA/AppData/LocalLow/OUTBOUNDS/Memory of a Broken Dimension/com.unity.addressables/catalog_2018.12.16.08.28.42.hash, result='HTTP/1.1 404 Not Found'.
     
    Last edited: Dec 16, 2018
  44. MNNoxMortem

    MNNoxMortem

    Joined:
    Sep 11, 2016
    Posts:
    723
    I have trouble updating the asset bundles. Each time I build it generates a new hashed asset bundle, however what I actually want to do is to fix some asset, rebuild the bundle and update it.

    • group_scenes_name_c9b8d9579bf2d95795af7e2b6f30e22a
    • group_scenes_name_c278d8bf59ebb9aba2aa2533acc64d61
    As the hash changed it looks like it is still downloading the one I made before making a build. How do I properly update?

    Trying to select "Prepare for update" I get a NullReferenceException after selecting the bin file. Any idea how to solve it?
    Code (CSharp):
    1. [Exception] NullReferenceException: Object reference not set to an instance of an object
    2. ContentUpdateScript+<>c.<GatherModifiedEntries>b__10_0()    C:/Users/Kevin Streicher/AppData/Local/Unity/cache/packages/staging-packages.unity.com/com.unity.addressables@0.5.0-preview/Editor/Build/ContentUpdateScript.cs:247
    3. 246:   var allEntries = new List<AddressableAssetEntry>();
    4. -->247:   settings.GetAllAssets(allEntries, g => g.HasSchema<BundledAssetGroupSchema>() && g.GetSchema<ContentUpdateGroupSchema>().StaticContent);
    5. 249:   var entryToCacheInfo = new Dictionary<string, CachedInfo>();
    6.  
    Update: Fixed the NullReference: Ensure to have a "ContentUpdateGroupSchema" when you have "BundledAssetGroupScheme" on the group, otherwise the above line obviously runs into a null reference.
     
    Last edited: Dec 17, 2018
  45. roshaantariq

    roshaantariq

    Joined:
    Dec 6, 2017
    Posts:
    32
    Can you please be more specific how the issue was resolved on your end? Also, what kind of server are you using?
     
  46. MNNoxMortem

    MNNoxMortem

    Joined:
    Sep 11, 2016
    Posts:
    723
    @roshaantariq Line 247 shows g.GetSchema<ContentUpdateGroupSchema>().StaticContent which will result in null.StaticContent when the Group has no ContentUpdateGroupSchema. Therefore you need to add the ContentUpdateGroupSchema to any group. This lets you select the *.bin without a NullReference Exception.

    I still was not able to successfully prepare & build a content update if that was your question. The *.bin is generated as AddressableAssetsData/addressables_content_state.bin, however when I select it:
    • Changing prefabs and scenes inside of a existing group is not detected as a change during PrepareForContentUpdate.
    • Deleting elements from a group is not detected as a content update.
    • Only adding elements to a group or new groups are detected during Prepare for Update.
    • BuildForContentUpdate generates new .hash and catalog_<date>.json files as well as new folders with .bundle (e.g. \rooms_scenes_assets\scenes\rooms). However copying those over does not work for any local or remote target. No matter if I copy the new bundles over any existing Streaming Asset folder or test it via our ftp server the new content is never accessible from any build made prior to the bundles and no build made after clicking Build is able to read any bundle made earlier.
    • Only "Build Bundles" then "Build Player" worked so far - however this works for both local & remote targets as well as Windows and WebGL (with the usual restrictions) as platform.
    So I am still looking eagerly for anyone who was able to actually publish & load a content update without a full build and how they proceeded and what changes they made to the existing build / files / configs.

    I am on 0.5.2-preview btw.
     
    Last edited: Dec 18, 2018
    diego_mp likes this.
  47. roshaantariq

    roshaantariq

    Joined:
    Dec 6, 2017
    Posts:
    32
    uh..huh.. It seems that I cannot update my addressable package to 0.5.2-preview. I'm using the latest showing in my tab which is 0.4.8-preview

    I only need remote assets and they are working fine on localhost machine and mobile but I'm facing an issue making them online or deploying them on proper server.
     
  48. MNNoxMortem

    MNNoxMortem

    Joined:
    Sep 11, 2016
    Posts:
    723
  49. unity_bill

    unity_bill

    Joined:
    Apr 11, 2017
    Posts:
    1,053
    ok, a lot has happened on this thread since I last was able to get to it. In general, if you have a bug, or a big question, a dedicated thread is a much easier spot to keep up with things. Given how much is here, I'll try to answer what I can.....

    The idea of the schemas is that as advanced users customize things, it's far more extensible. Most users will not need to add/remove schemas, or change many settings (especially provider). The caching checkbox determines if the downloaded bundle is stored locally in a cache. If you use the cache, and the cache still has the bundle, then you are correct that a new one is not downloaded if it's the same. But caches can fill up. Our documentation does need some significant improvement, but in the interim, please see this video for some of the topics you've asked about:


    not yet. right now you have to manage the build bundles the same way you would before. but we hope to change that some day.

    this is possible by using some APIs to load/combine multiple content catalogs, but it's not a feature we've really documented or tested yet. So it is doable today, but you're kinda on your own to work out how, until we solidify the workflow (and probably add some helper functionality).

    should be. create a Unity bug. Might not hurt to also create a thread to discuss (if you do, reference the case #)
     
    Mazak likes this.
  50. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    I haven't really looked into addressables much yet but noticed that on some older talk there was a mention that addressables don't support Unity's ECS yet. Is this still a limitation?

    For example, can we instantiate things from pure ECS when all assets are stored in Unity's addressables?
     
Thread Status:
Not open for further replies.