Search Unity

  1. Unity Asset Manager is now available in public beta. Try it out now and join the conversation here in the forums.
    Dismiss Notice

UI

Discussion in '2019.2 Beta' started by Aiursrage2k, May 6, 2019.

  1. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,625
    So what ever happened to the UnityEngine.UI reference fix that was promised?

    Rewired is now broken on 2019.2 final released yesterday. The flood of bug reports has started up again.

     
    Last edited: Jul 31, 2019
  2. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,625
    So I have tried many things and have discovered something very important:

    You only get this error when upgrading a project to 2019.2. This does not happen in a new project.

    So this error is not an error in Rewired. It's an error in Unity's upgrade process and dealing with some kind of stored metadata. I've tried taking a project that was upgraded and giving me the error, then doing a "Reimport All" on the project which got rid of the runtime DLL error, but not the editor DLL error. Then I did a second "Reimport All" on the project and that got rid of the editor DLL error. So this is on Unity's end and has to do with some kind of baked data in the project that isn't being cleaned up or updated properly.

    I do not know the most efficient set of steps to solve this yet as "Reimport All" is a very slow function. Once I figure something out, I am going to have to educate all of my customers about this.
     
    Last edited: Jul 31, 2019
    IshikiGames and WILEz1975 like this.
  3. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,625
    Upon further testing, it appears all of the errors are false and do not have any effect. The errors will return after a Reimport All operation, probably due to the same reason the errors appeared in the first place during the upgrade.

    There is no action required. The next time you open the editor, the errors will not appear. Even if you don't close and open the editor, the errors will not have any effect. They are probably reported during the update operation before the UnityUI.dll is created, then the Rewired DLLs must be getting reimported automatically because they do work. Must be an order of operations issue. It can also come back if you do a "Reimport All."

    This issue looks to be purely cosmetic.
     
    LeonhardP likes this.
  4. ArthurT

    ArthurT

    Joined:
    Oct 26, 2014
    Posts:
    75
    Glad to hear! I managed to resolve the issue eventually too, except in my case I had to set up an assembly definition for In App Purchasing package but importing the IAP asset packages from Services worked.
     
  5. grimjim

    grimjim

    Joined:
    Jan 18, 2014
    Posts:
    17
    Hey, i have the same issue but with Cloud Build. Building local works fine only in Cloud Build i get this error

    Code (CSharp):
    1. Could not load signature of UnityEngine.Purchasing.UIFakeStore:GetOkayButton due to: Could not load file or assembly 'UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. assembly:UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null type:<unknown type> member:(null) signature:<none>
    Solved it. There were still old files in the plugin folder.
     
    Last edited: Aug 5, 2019
  6. grimjim

    grimjim

    Joined:
    Jan 18, 2014
    Posts:
    17
    But now I found this in Cloud Build. Still, don't know why I can build it locally but Cloud Build fails
    Code (CSharp):
    1. 17276: [Unity] Assembly 'Assets/FacebookSDK/Plugins/Facebook.Unity.dll' will not be loaded due to errors:
    2. 17277: [Unity] Unable to resolve reference 'UnityEngine.UI'. Is the assembly missing or incompatible with the current platform?
    Facebook is updated to the latest version and I changed the version number in ProjectSettings to plugin
     
  7. grimjim

    grimjim

    Joined:
    Jan 18, 2014
    Posts:
    17
    I created now a new project in 2019.2.0f1 and just added the latest facebook SDK version 7.17.0 to it. The build still fails in cloud build with the same error message. But I can build it locally.
     
  8. Alex_Adevart

    Alex_Adevart

    Joined:
    Dec 8, 2015
    Posts:
    1
    Same issue unity 2019.2.0f1 facebook sdk 7.17.2. I see error only on Unity Cloud Build:
    pdating Packages/com.unity.multiplayer-hlapi/Tests/Runtime/NetworkManagerGivesErrorWhenNoPlayerPrefabSet - GUID: eea41879e2ba3be46b084caceee6ce87...
    10: [Unity] -----CompilerOutput:-stdout--exitcode: 1--compilationhadfailure: True--outfile: Temp/UnityEngine.UI.dll
    11: [Unity] error CS1704: An assembly with the same simple name 'Facebook.Unity.Settings' has already been imported.
     
  9. justtime

    justtime

    Joined:
    Oct 6, 2013
    Posts:
    424
    Got this error at startup 2019.2.0f1
    Code (CSharp):
    1. Error: Could not load signature of UnityEngine.Purchasing.UIFakeStore:GetOkayButton due to: Could not load file or assembly 'UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. assembly:UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null type:<unknown type> member:(null) signature:<none>
     
    SeveneduS and Ragegamedude like this.
  10. Ragegamedude

    Ragegamedude

    Joined:
    Oct 3, 2015
    Posts:
    4
    Same Error : Error: Could not load signature of UnityEngine.Purchasing.UIFakeStore:GetOkayButton due to: Could not load file or assembly 'UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. assembly:UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null type:<unknown type> member:(null) signature:<none>.

    Upgraded a Projekt from 2018.4 to 2019.2, Fixing since 3 days errors and depency problems :(
     
  11. grimjim

    grimjim

    Joined:
    Jan 18, 2014
    Posts:
    17
    Probably because you have old plugins in your Plugin folder for UnityPurchasing Remove the folder UnityPurchasing and reimport the in-app purchasing package
     
  12. alphadogware

    alphadogware

    Joined:
    Nov 15, 2017
    Posts:
    76
    I have this error also and this thread is the only reference to it I can find. Can you explain on what you did to 'reset all my packages'?

    (I have deleted and reloaded my UnityPurchasing folder and also reimported all my assets, same error)
     
  13. 00christian00

    00christian00

    Joined:
    Jul 22, 2012
    Posts:
    1,035
    I did reset the packages in the package manager. Open package manager, click on advanced and "Reset packages to default".
    You will have to reinstall packages that you had previously installed, if I recall unity purchasing is not default.
     
  14. alphadogware

    alphadogware

    Joined:
    Nov 15, 2017
    Posts:
    76
    I had went through and made sure they were all up to date, but didn't see the option to reset them all. Thanks. I screen capped a list of what I currently had, reset and reinstalled them all.

    That being said, yea my problem is still there.
     
  15. zivshek

    zivshek

    Joined:
    Apr 24, 2018
    Posts:
    2
    Code (CSharp):
    1. Error: Could not load signature of UnityEngine.Purchasing.UIFakeStore:GetOkayButton due to: Could not load file or assembly 'UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. assembly:UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null type:<unknown type> member:(null) signature:<none>
    2.  
    2019.2.0f1, IAP 2.0.6 up to date, still getting this error, how do I step by step add the dll reference though?
     
  16. BigRedGames

    BigRedGames

    Joined:
    Jun 25, 2016
    Posts:
    48
    Same error here in Editor and on Unity Cloud Build. Unity 2019.2.2f1.
     
    alphadogware likes this.
  17. davenirline

    davenirline

    Joined:
    Jul 7, 2010
    Posts:
    982
    We're experiencing this, too, for Cloud Build. What did you guys do to fix it?
     
  18. entropicjoey1

    entropicjoey1

    Joined:
    Jun 1, 2014
    Posts:
    26
    Error: Could not load signature of UnityEngine.Purchasing.UIFakeStore:GetOkayButton due to: Could not load file or assembly 'UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. assembly:UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null type:<unknown type> member:(null) signature:<none> unity 2020, android app crashes at start up
     
  19. creat327

    creat327

    Joined:
    Mar 19, 2009
    Posts:
    1,756
    this is clearly not fixed yet
     
    entropicjoey1 likes this.
  20. aokdev

    aokdev

    Joined:
    Aug 18, 2019
    Posts:
    2
    1.Go to the <ProjectDirectory>/Assets/Plugins path

    2.Delete the UnityPurchasing folder. You may have many error but just ignore it.

    3.Restart the Editor.

    4.Open Windows > Services then sign in again. Re-enable the services.

    >>>You may have StandardPurchasingModule.class is not found. No problem...

    5.Go to the <ProjectDirectory>/Assets/Plugins/UnityPurchasing/UnityIAP (.unitypackage) double click for setup.

    6.Restart the Editor (Unity And Script Editor >> Mono or VisualStudio).

    HAPPY CODES.
     
  21. UnitySquid

    UnitySquid

    Joined:
    Mar 31, 2018
    Posts:
    6
    beware: after doing these steps of aokdev my project keeps crashing on startup.
     
    eladleb4 likes this.
  22. WILEz1975

    WILEz1975

    Joined:
    Mar 23, 2013
    Posts:
    375
    Really? I was going to do it.
    Have you solved it any other way?
     
  23. _Keith

    _Keith

    Joined:
    Nov 7, 2015
    Posts:
    27
    I've tried wiping out the entire Plugins folder, and re-importing everything multiple times, latest attempt was in Unity 2019.2.9f1. Still getting this error in cloud build using "latest 2019.x", has been happening for over 2 months.

    Code (CSharp):
    1. [Unity] Error: Could not load signature of UnityEngine.Purchasing.UIFakeStore:GetOkayButton due to: Could not load file or assembly 'UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. assembly:UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null type: member:(null) signature:
    2. [Unity] Error: Could not load signature of UnityEngine.Purchasing.UIFakeStore:GetOkayButton due to: Could not load file or assembly 'UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. assembly:UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null type: member:(null) signature:
    3.  
    None of the solutions in this thread work, I think the issue is likely with the Cloud Build System directly.
     
    SeveneduS likes this.
  24. _Keith

    _Keith

    Joined:
    Nov 7, 2015
    Posts:
    27
  25. PatrickVDM

    PatrickVDM

    Joined:
    Nov 17, 2019
    Posts:
    7
    This is getting off topic. I need simple and clear instruction on how to fix the unityengine.ui issue because i am getting a short fuse using Unity 2019.2 that I am now regretting to upgrading to it. I really need this to work because it' now has put me behind on schedule. Please refer to my other post for the full story. https://forum.unity.com/threads/unityengine-ui-deprecated-in-unity-2019-2.778883/
     
    a436t4ataf likes this.
  26. Alien2k

    Alien2k

    Joined:
    Jan 29, 2018
    Posts:
    1
    How did I solve the problem:

    Code (CSharp):
    1. Error: Could not load signature of UnityEngine.Purchasing.UIFakeStore:GetOkayButton due to: Could not load file or assembly 'UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. assembly:UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null type:<unknown type> member:(null) signature:<none>
    1. Uninstall Unity & Unity Hub.
    2. Remove from PC all existing Unity folders with files in Program Files, ProgramData, C:\Users\UserName\AppData (including: Local, LocalLow, Roaming).
    3. Clear Temp folder in C:\Users\UserName\AppData\Local\Temp.
    4. Install Unity Hub 1.6.1.
    5. Install Unity (in my case: Unity 2019.2.1f1 (64-bit)) from official page, using Unity Hub button (green button).
    6. Open your project.

    Profit!

    P. S.
    Sorry for my English :)
     
  27. samanabo

    samanabo

    Joined:
    Mar 10, 2015
    Posts:
    51
  28. Gomahetsuha

    Gomahetsuha

    Joined:
    Mar 30, 2014
    Posts:
    1
  29. joshcamas

    joshcamas

    Joined:
    Jun 16, 2017
    Posts:
    1,277
    Is there no official solution? I have over a thousand errors due to this issue, since a dozen plugins reference UI and such.

    To "solve" this, I had to undo all of my upgraded packages, rename the PackageCache folder to PackageCache_old, let unity freak out, then rename the folder back to PackageCache. This made the ui errors go away, but of course now I can't touch any other packages for fear of this issue triggering again.
     
    Last edited: Apr 2, 2020
  30. phil-Unity

    phil-Unity

    Unity UI Lead Developer

    Joined:
    Nov 23, 2012
    Posts:
    1,226
    By all means if someone has a bug reported i'll take a look but as far as i know it should work fine at least from our last round of testing when this was originally discovered.
     
  31. Delta_G

    Delta_G

    Joined:
    Apr 7, 2020
    Posts:
    1
    Hello everyone, I'm "new" to Unity and I have Unity 2020.1.0b5. In my project there are errors wich say that "UI" is not found in the Unity references, so the problem is not fixed?
     
  32. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    I'm finding these two paragraphs extremely difficult to understand.

    Simple (very common) use-case: I have a DLL that is dependent upon the UnityUI DLL. Which Unity broke with the conversion to PM. Phrases like

    "the .dll that Unity builds"

    ...are really unhelpful. What does that even mean?

    Two simple questions:

    1. How do I now - in a csproj outside of Unity - continue to build a 3rd party DLL which needs to link against Unity's "UnityEngine.UI" namespace?
    2. Do we now have to maintain a completely separate copy of our projects / csproj / sln to continue supporting Unity < 2019.2? (or is there a magic edit to the csproj etc files that will make it happily build against the old (working!) DLL and against ... something new?)

    NB: I'm using Jetbrains Rider, and struggling to figure out the right way to do option 2 above - the Rider GUI for proj-setup is infamously "simplified" :).
     
  33. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    NB: Adding the "UnityEngine.UIModule.dll" does not work, which seems to contradict the informal workaround Unity engineers provided above.
     
  34. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    (also note: the easy way around this is to ignore all versions of UnityUI after 2019.1, and then *everything just works*. The only problem is ... you're then unable to use any Unity APIs that are 2019.2+)
     
  35. guavaman

    guavaman

    Joined:
    Nov 20, 2009
    Posts:
    5,625
    Packages are distributed as CS files that are compiled by Unity into a DLL and then included in your project. I assume that compiled DLL is the DLL that you can link to based on what you quoted above. They are located in Library\ScriptAssemblies. You will find UnityEngine.UI.dll there for the current version of the package downloaded in the package manager. Note that that DLL also has a number of other dependencies:

    UnityEditor (I'm surprised to see this. How can this be included in the build then?)
    UnityEngine.AnimationModule
    UnityEngine.CoreModule
    UnityEngine.IMGUIModule
    UnityEngine.InputLegacyModule
    UnityEngine.Physics2DModule
    UnityEngine.PhysicsModule
    UnityEngine.TextRenderingModule
    UnityEngine.UIModule

    I haven't tried linking to this UnityEngine.UI.dll built by the package manager myself in a DLL. I am linking to an older version of UnityEngine.UI.dll which was from before the move to the package manager. Things still work using that old one for now as of 2019.3.10f1, but if they make a breaking change to Unity UI (signature change), everything is going to come crashing down. I'm going to have to figure out some way to handle package version dependency in a DLL. I don't know what that looks like right now, but I imagine it's going to be a nightmare. (Probably end up having to shift all the Unity UI-dependent code out of the DLL and into C# scripts. Or split UI code out into another DLL, reference that from my core DLL, then build multiple versions of that DLL as breaking changes are released, include an editor script to detect the available version and swap out the UI DLL... Ugh.) Before the package manager, I could simply branch and release a new version of Rewired built for newer versions of Unity linking to the proper DLL from that Unity version and be assured it would work. Now with the package manager, not only can the version of Unity change but the packages can change independently of that.
     
    Last edited: Apr 26, 2020
    a436t4ataf likes this.
  36. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    Thanks, @guavaman

    I tried:
    - Editor 2019.3.5
    - UnityUI package installed (visible in Packages folder of project)
    - Made sure a build of the Unity project had happened succesfully in-editor
    - Link to the UnityEngine.dll from editor 2019.3.5's Data/ folder
    - Navigate to ScriptAssemblies
    - ... and link to the UnityEngine.UI.dll found there

    This causes Rider to stop reporting errors in the IDE -- but it fails on build (same errors as always - can't find the UnityEngine.UI namespace - no other errors). I have no idea how Rider is doing something different on build from what it's displaying in-editor (I've never witnessed that before! They're supposed to be identical)

    So ... I've gone back to doing exactly as you are :) - and using the "it just works" UI DLL from 2019.1.

    PM is such a horrible mess of a design :(.
     
    guavaman likes this.
  37. georgikgeo25

    georgikgeo25

    Joined:
    Mar 24, 2020
    Posts:
    5
    [QUOTE = "phil-Unity, post: 4534411, membru: 157091"] Deci nu am răspuns pentru tine acum. Problema DLL este ceva sfidător pe care l-am trecut cu vederea. Ne-am dat seama de greșeala noastră și lucrăm pentru a veni cu o soluție care să reducă la minimum și probleme, deși încă nu suntem siguri cum va arăta asta. După ce vom avea ceva, vă vom anunța. [/ Cotație]


    râzi de noi? Ne spuneți că ne veți anunța când va fi în 2030? avem jocuri la care am lucrat și din incompetența ta totul se destramă