Updating to 1.23 problems, blank update screen, DLL errors...

Hello!
I’m trying to update Unity IAP 1.22 to 1.23 to get rid of the iOS side deprecation error.

Problem is I’m getting a bunch of DLL errors in regards to different Assembly CSharp dll’s in the Library folder, and sometimes DLL errors for Stores.dll and others in Plugins folder. I tried Googling this, and tried multiple solutions but nothing really helped as everything I do just leads to this same situation.

  • I’ve tried updating through the Services panel and the Asset Store.
  • I’ve deleted UnityPurchasing & UnityChannel folders in the Plugins folder before reimporting again. Done this multiple times now.
  • I’ve installed UDP and UnityIAP packages manually from the UnityPurchasing folder, but this also leads to the same problem.

Everything just leads to the same bunch of errors appearing after the Import is complete.
The new Update screen also goes blank on the second step after the first import is complete.

Picture of errors & blank Unity IAP screen.

Using Unity version 2018.4.11f1 LTS.
Monetization Package from Asset Store version 3.3.0 if that matters at all.

I’m kinda at an impasse here. Help? Thanks!

Tried creating an entirely new project and importing UnityIAP from the services window. Everything worked out fine.
Tried moving the created plugins folder files to my current project, and got a different bunch of errors stating BuildConfig does not exist.

Assets\Plugins\UDP\Editor\Analytics\Common.cs(5,23): error CS0234: The type or namespace name 'Common' does not exist in the namespace 'UnityEngine.UDP' (are you missing an assembly reference?)
Assets\Plugins\UDP\Editor\Analytics\EditorAnalytcisApi.cs(4,23): error CS0234: The type or namespace name 'Common' does not exist in the namespace 'UnityEngine.UDP' (are you missing an assembly reference?)
Assets\Plugins\UDP\Editor\AppStoreOnboardApi.cs(11,45): error CS0103: The name 'BuildConfig' does not exist in the current context
Assets\Plugins\UDP\Editor\Analytics\EditorAnalytcisApi.cs(11,42): error CS0103: The name 'BuildConfig' does not exist in the current context
Assets\Plugins\UDP\Editor\AppStoreOnboardApi.cs(12,49): error CS0103: The name 'BuildConfig' does not exist in the current context
Assets\Plugins\UDP\Editor\AppStoreOnboardApi.cs(13,48): error CS0103: The name 'BuildConfig' does not exist in the current context
Assets\Plugins\UDP\Editor\AppStoreOnboardApi.cs(14,35): error CS0103: The name 'BuildConfig' does not exist in the current context
Assets\Plugins\UDP\Editor\AppStoreOnboardApi.cs(27,38): error CS0103: The name 'BuildConfig' does not exist in the current context
Assets\Plugins\UDP\Editor\AppStoreSettingsEditor.cs(13,26): error CS0246: The type or namespace name 'AppStoreSettings' could not be found (are you missing a using directive or an assembly reference?)

Yes, you probably don’t want to be manually removing or deleting files. I don’t believe the Monetization package should make any difference. Make sure you have the Purchasing package installed in PackageManager. Unity IAP requires both the Package Manager package and the Asset store components. Before you upgrade, make sure you make a backup/snapshot so you can start over if you need to. If possible, make a short 60 second video of your upgrade process. I’ve tested the upgrade process with Unity 2018 LTS without issue. To compare, you might try upgrading this sample project which works for me, and see if you get the same errors. Sample IAP Project

Thanks for the tip, Jeff!

I ended up deleting UnityPurchasing & UDP folders in my main project. Then I created a new Unity project and imported the IAP package from Services window and moved the files to my current project manually (folders Plugins/UnityPurchasing and Plugins/UDP). This worked and my project is now without errors and IAPs/Ads seem to work fine in a build.

It seems the installation got stuck on whatever in my main project, and didn’t properly import the needed items & remove the installation files (see blank installation window problem), as those were still present after installation was “completed”. Using Perforce, which locks files not checked out, might have something to do with this but I was sure to check out everything related to the file locations used.

I was blatantly lying :hushed: in my earlier post, as I think I first installed the IAP package from the Asset Store and not the services window. Installing from Services in a new project & moving the files manually seemed to work, but installing the Asset Store version and doing the same didn’t. I had to resort to this because anything I did in the main project just caused more errors.

Regarding manual file deletion, I was following this topic: https://discussions.unity.com/t/687770

Is this info stated clearly somewhere? Let me get this straight…
If I install from Services, it includes everything I need?
But if I install from Asset Store, I also have to install a package from the Package Manager?
But installing from both Package Manager & Services causes overlap errors?

Honestly I think this process should seriously be simplified, as Unity IAP and Monetization packages have been a huge hassle every time we’ve had to Install or Update these packages. I’m not expecting an answer to these, just stating some inconsistencies with the package:

  • Why do we have three different locations to download the IAP package from? Is this really necessary especially considering the overlap problems caused by accidentally installing the package twice from different locations?
  • What is the difference between IAP from Asset Store, IAP from Services and IAP from Package Manager? This is not very clear, but I’m guessing they’re the same package?
  • Honestly the difference between the IAP and Monetization packages isn’t very clear from reading the store pages. Why aren’t they bundled together, seeing as they both ultimately have something to do with monetization? It’s not clear whether or not both are required to create a functioning IAP/Ads combo for mobile.
  • Most of the documentation found on Google seems to lead to legacy versions of IAP & Monetization. To be honest I didn’t even bother to check these while dealing with this new problem, as the last time I had problems with these packages the documentation just made everything more confusing.

I know making games requires some technical expertise, but this just seems way too convoluted for a rather simple procedure of installing a plugin. :face_with_spiral_eyes:

Thanks anyway, hope this might help some people dealing with the same issue. I’ll be sure to report back here if any more issues arise regarding the upgrade!

Did you choose “Delete previous IAP?” when prompted during the upgrade? Monetization and IAP are separate products and don’t depend on each other (except for a single special use). For IAP, you should not be touching Package Manager, the IAP install handles all that for you.

There’s such an option? Only thing I’m seeing is the button to continue installation for each part, and the checkbox to “Reinstall or go back a step” which just gives options to install the needed packages separately.
Basically this window (image taken from the releases thread) but with different button prompts for the 3 stages of installing, last one being the removal of installation files. So no “Delete previous” option.

Right, yeah, the confusion could be because every time I’ve had to implement monetization, I’ve had to do it for both Ads and IAPs at the same, and it’s never been a smooth ride. But I think I get it now. The general “Monetization” name for the other plugin doesn’t really help clear this confusion, heh. :smile:

Umm…
I’m guessing you’re talking about IAP package and Purchasing package being separate entities, but this is exactly what I mean with the confusing installation procedure.:smile:
All I can see in the package manager for “Purchasing” is “In App Purchasing” package, which I would automatically link with “IAP”.

1 Like