WACK failed with two daft errors

My game just failed WACK with these 2 errors, both of which I have no idea how to fix as I never set it to be accessible.

App manifest

  • Error Found: The app manifest test detected the following errors:

  • The contrast ratio of the background color and foreground text color is 1.01. This ratio should be greater than or equal to 1.5.

and

Direct3D Trim after Suspend

  • Error Found: The Direct3D Trim after Suspend test detected the following errors:

  • One or more applications in the package did not call Trim() on their DXGI Devices while being suspended.

I also got this one but I #ifdef’ed out the code that uses the Android DLL so it shouldn’t be included. This has to be a bug in Unity.

Supported APIs

  • Error Found: The supported APIs test detected the following errors:

  • API QDebug in native.dll is not supported for this application type. Assembly-CSharp.dll calls this API.

Any clues as to how to proceed guys?

It seems native.dll is included in your build, it doesn’t matter if code calls into it or not, it matters if assembly is included into Visual Studio solution, which Unity version is this. In Unity 5.0, you have an option to exclude the assembly from the build.

It’s 4.6.5F1, as a last ditched attempt to make the error go away I deleted the native.dll and stripped out the code that used it. Deleted the whole directory that unity creates when building the target and I still get this error! there is no sign of the DLL yet it still fails WACK. back to the futile search for where it’s managing to reference the deleted dll.

Regarding the first error: did you declare a specific background/foreground color in your manifest?

Regarding the second error: I saw people reported this a few times now, but in the end it turned out to be a case of outdated graphics drivers. Never heard about that failing during submission certification.

Regarding the last error: It’s not a reference to the native DLL. It’s a Pinvoke signature. Look for this in your project:

[DllImport(“native.dll”)]
extern static void QDebug();

It’s actually complaining that it sees you’re calling into that DLL, but it cannot find the DLL itself.

Hi, I fixed the first error, I had a light setting with a lightish background in the manifest.
I deleted all the code for the QDebug and made sure the dll is long gone, but now WACK says this:-

  • API QDebug in native.dll is not supported for this application type. Assembly-CSharp.dll calls this API.

I totally deleted the build directory. So do I need to do something to force Assembly-CSharp.dll to be rebuilt?

The Trim Error is still there, I was kind of hoping it was the Native.dll causing it. Just to clarify, I am developing this on a Win8.1 Virtual Parallels Machine on a Mac. Do I need to update graphics drivers on a Windows Parallels VM?

I doubt you can solve that error in parallels. I don’t even know if there are drivers available for it. I would just ignore it, it will not affect your game submission.

About QDebug - Assembly-CSharp.dll is all your C# scripts. Every time you modify a script, it is rebuilt. I would triple check if there really aren’t any method calls into that DLL. Is that DLL a managed or a native one?

Thanks Tautvydas it all just passed WACK! First there was indeed an old file not used in the assets that referenced the native android DLL but nothing called or used it. Deleting it fixed the QDebug error. Then I installed WACK on the surface and set it to remote Wack test so it used the drivers on that and it passed the Trim test.

So thanks again, I’m trying to upload it all now! I will most likely be back when I try and add adverts and in app to the next version!

Tautvydas one last question, I’ve just uploaded the package but it’s only an x86, If I want my game to run on ARM too, do I just build to that and upload the resultant package to the same exact place on the microsoft dev portal or do I have to create a new game on the portal?

Upload it to the same place - don’t create a new game.