IAP Erros in Unity 2019.2.9f

Hi there! There are some errors on project open in Editor

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>
Assembly 'Assets/Plugins/UnityPurchasing/Bin/Editor.dll' will not be loaded due to errors:
Reference has errors 'Stores'.
Assembly 'Assets/Plugins/UnityPurchasing/Bin/Stores.dll' will not be loaded due to errors:
Unable to resolve reference 'UnityEngine.UI'. Is the assembly missing or incompatible with the current platform?
Reference validation can be disabled in the Plugin Inspector.

Is it important or i can skip these ones?

How IAP should be properly installed? Via PM, Asset Store, Services window?

Unity 2019 support will be coming in the next IAP release, hopefully this week.

1 Like

I upgraded to the latest version, but I still get:
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,

and

error CS1704: An assembly with the same simple name 'Editor' has already been imported. Try removing one of the references (e.g. '[..]\Library\ScriptAssemblies\Editor.dll') or sign them to enable side-by-side.

Help :frowning:

I’m getting the same issue using cloud build (and have been since I started using 2019.2.x), and I completely wiped out my plugins directory and re-imported IAP after this latest update.

same error in 2019.2.3f1

Steps to reproduce please

Update: in my case, I had to remove the Xiaomi SDK from the package manager. (Unity 2019.2.9)
On brand new projects I wasn’t having this error, so that’s what indicated that something with this specific project could be the culprit.

I’ve been encountering this as well as I’m trouble-shooting the 1.23 update

My repro scenario involves two machines and switching platforms, using Git in between. While a 2 machine scenario may sound exotic, I think it’s pretty common to have a Mac setup for iOS builds and a Windows machine setup for Android builds.

  • I get a stable plugin import for Android on my Windows machine. All good
  • I push that commit from my Windows machine to my repo
  • I pull that commit to my Mac and get that error
  • I re-import the plugin from the Asset Store onto my Mac, and all is good again.
  • I push that commit from my Mac to my repo
  • I pull that commit back to my Windows machine and get that error again
  • rinse and repeat

Would be good to test first without Git involved to see where the issue may be. One thing you might want to test without Git is to make a back up and delete the /Library folder and test. Source control systems often ignore and don’t include the /Library folder.

I’m using Unity Cloud Build, and had no issues with IAP in Unity 2018.x. I’m using Bitbucket as source control, and auto-build. This issue has occurred in every upgraded version of Unity since 2019.2.3f1 that I’ve tried, up through 2019.3.9f1 and the latest Unity IAP version available.

In earlier of versions of Unity 2019.x I was getting IAP errors in the Unity Editor console. But not in the newer versions.

If you have trouble reproducing this, let me know if looking at my cloud build setup or repo would help.

Does the Library folder need to be in source control for Unity Cloud Build to work properly?

I’ve never needed it before.

No, it was a suggestion for testing locally without source control.

Gave this a try and it did not pop the error. So looks like it has to do with a 2nd machine or the platform switch between iOS and Android

I just updated my project from 2019.2.9f1 to 2019.2.10f1 and the same error appeared in the console:

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>

I also get the error when I Cloud Build. I completely wiped out everything except for the Assets folder, rebuilt, and pushed to source control for Cloud Build here’s the error I’m getting:

1251: [Unity] Registering precompiled user dll's ...
1252: [Unity] Registered in 0.358621 seconds.
1253: [Unity] Platform modules already initialized, skipping
1254: [Unity] Begin MonoManager ReloadAssembly
1255: [Unity] Symbol file LoadedFromMemory doesn't match image /BUILD_PATH/keith-244032.aerial.default-android/Library/PackageCache/com.unity.ext.nunit@1.0.0/net35/unity-custom/nunit.framework.dll
1256: [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:<unknown type> member:(null) signature:<none>
1257: [Unity] (Filename: ./Runtime/Mono/MonoAttributeHelpers.cpp Line: 372)
1258: [Unity] Unloading broken assembly Assets/Plugins/UnityPurchasing/Bin/Stores.dll, this assembly can cause crashes in the runtime
1259: [Unity] (Filename: ./Runtime/Mono/MonoManager.cpp Line: 1231)

Please test the build locally first, before using Cloud Build. Make sure you are using IAP 1.23. UnityEngine.UI is now in a package in Unity 2019.2 and above

Local build works fine for Android, I’m using IAP 1.23 and UnityEngine.UI.

Should I post in the Cloud Build forum instead?

Yes

I’m still experiencing this problem, and I haven’t received any response on the Unity Cloud Build forum.

When I upgrade my project from 2019.2.10f1 to 2019.2.11f1 I get this error at the top of my console when I open the project in the editor.

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>

It happens again when I upgrade my project from 2019.2.11f1 to 2019.2.12f1, it doesn’t seem to me like the fix that was implemented fully resolved the issue, and some sort of local build workaround was put in place that didn’t correct the underlying problem with the project (in the editor). This error is manifesting in the editor when the project is upgraded, and is also carrying over to Unity Cloud Build. It seems like IAP is (and has been) completely broken in Unity Cloud Build for all 2019.x versions.

Is there anyone using Unity 2019.x and the Unity IAP plugin not receiving this error when they upgrade their project?

Can you still build your project? I’ve seen that message too, but I can still build my project.

Yes, I can build locally last time I tried, but I don’t have all my iOS and Google certs / signing set up locally, as I’ve been relying on Unity Cloud Build for that.

I know that there are different Unity dev teams and it seems the implication is that the (unresponsive) Unity Cloud Build Team should be fixing this problem on their end, but this appears to be a problem with the underlying project. And, it doesn’t seem like that problem was ā€œproperlyā€ fixed as the error is still appearing in the editor console when upgrading a project, and that problem seems like it’s propagating over to Unity Cloud Build.

1 Like