Unity3d and Windows 8 App Certification - Desktop (NXCheck, SafeSEHCheck)


I am trying to get positive results from “Windows 8 App Certification Kit” for the game that we developed using unity IDE. This game should run on Windows 8 desktop and not a metro. I am getting warning on “Windows security features test” binary analyzer part.

…\Managed\Assembly-CSharp.dll has failed the NXCheck check.
…\Managed\Assembly-CSharp.dll has failed the SafeSEHCheck check.
…\Managed\UnityEngine.dll has failed the NXCheck check.
…\UnityEngine.dll has failed the SafeSEHCheck check.

The solution that provided by Microsoft is :
“How to fix: Apply the SAFESEH, DYNAMICBASE, and NXCOMPAT options when you link the app.”

The questions:

  1. How can I recompile with right flags the DLLs (UnityEngine for example)
  2. Does anyone got positive results from windows certification kit.
    3)How can I change compile options for main exe

I tried to use Visual Studio IDE for the script editor, but compiling script can’t solve problem with main exe file, unityEngine.dll etc.

Please share, any info much appreciated!

Probably you are using javascript code in your application. Here is the list that Unity3d supports:


Things that are not yet supported:

•Network classes, WWW is supported though 
•Animation on script variables 
•AnimationEvent callback functions with arguments (you have to provide a function with no arguments or with AnimationEvent argument) 
•GameObject.SendMessage (partially works, but function which accepts the message must match the message sent, because the argument conversion doesn't work) 
•You can't access C# classes from JS or Boo scripts, you should be able to access JS, Boo classes from C# 
•JS and Boo scripts won't pass WACK at the moment 
•Fog doesn't work on devices with feature level < 9.3, you need to implement it manually, see http://files.unity3d.com/tomas/Metro/Examples/MyCustomFog.shader

Compile it in release not a debug version.