Skip to main content
The types of problems that Submission Validator identifies grow and evolve over time. The goal is to smooth the way from submission through certification, and to market. Submission Validator runs the following quality checks:

Available version

Submission Validator checks to ensure that the version you installed is the most current and correct version. If it isn’t, the Submission Validator output log shows a failure. The failure message, shown in the following section, contains a link to download the correct version.

Approved GDK version

When you create a GDK package for PC (msixvc), Submission Validator checks that the GDK you used to package is from an approved GDK version. If the version isn’t on the approved or deprecated list, the validator log shows a failure.
If the version is on the deprecated list, the validator log shows an informational message. This message indicates that the version is expired and will no longer receive hotfixes.
If Submission Validator can’t determine the GDK version from the files included in the package—for example, because the files are encrypted—it displays the following message.

How the GDK version is embedded in game executables

When you compile a game executable by using a GDK that includes XGameRuntime.h, the compiler embeds the GDK version into a custom PE section named .xbld. Submission Validator reads this section to determine which GDK version was used to build the title’s binaries. If the .xbld section is missing or unreadable, Submission Validator falls back to using the version of the packaging tools as the GDK version for the submission. This version might not accurately represent the GDK version used to compile your binaries. Common cause: Anti-tamper software Anti-tamper and data-encryption tools that process your executable might encrypt or remove the .xbld section. This action makes the section unreadable by Submission Validator. To resolve this problem, configure your anti-tamper tool to exclude the .xbld section from processing.

Themida

Add the following Advanced Option (comma-separated) to your Themida configuration file to exclude the .xbld section from protection:

GuardIT

To exclude the .xbld section from data encryption in GuardIT, add an <exclude> entry to your encryption guard configuration:
The <exclude> section prevents .xbld from being encrypted.

Approved game OS

Submission Validator checks that the game OS and any optional components from the Microsoft Game Development Kit (GDK) are from the same release of the Microsoft Game Development Kit (GDK) and that they’re an approved version for use in released titles. If the version isn’t on the approved or deprecated list, the validator log includes a failure, as shown in the following section.
If the version is found on the deprecated list, the validator log includes an informational message. This message indicates that the version is expired and will no longer receive hotfixes, as shown in the following section.
If the versions of the components don’t match each other or if the version isn’t on the approved or deprecated lists, the validator log includes a failure, as shown in the following section.
Submission Validator might not complete its validation checks if the development PC on which it’s running can’t access online information. For example, it has no internet access, is blocked by a firewall, or has no network connectivity.

Launch marker in final chunk for content (downloadable content (DLC))

To ensure proper operation in all scenarios, content packages must mark the final chunk with the launch marker attribute. If the final chunk doesn’t include the launch marker, it’s possible that the package could be tested correctly but cause problems for end users in some cases. The failure message is shown as follows.

Additional Resources.pri files

Submission Validator checks that no additional Resources.pri files exist in other directories of the layout. As with MicrosoftGame.config, only the one in the root is used. However, having multiple copies could lead to confusion about which one is correct and what the developers’ intent is concerning these other files. This check parallels a similar check for additional copies of MicrosoftGame.config. In this case, additional copies result in a failure in the Foreign Files Check section of the log, shown as follows.

Missing Resources.pri file

Applications don’t need to be localized. However, if an application doesn’t include a Resources.pri file in the root (the same location as MicrosoftGame.config), the following warning appears in the Foreign Files Check section of the output log.

One application per package

Submission Validator now validates that packages contain only one non-DevOnly application per package.

Maximum package size

When you ship on disc, Submission Validator checks that the package size doesn’t exceed 49,900,000,000 bytes. This check only provides an informational message, not an error. When you don’t ship on disc, Submission Validator checks that the package size doesn’t exceed 500 GB. It also provides a warning message when the package size is above 450 GB. The messages are as follows:

Foreign file

One problem encountered when reviewing submissions for the XBOX 360 program is the inclusion of various files with the submission, generally accidentally, that shouldn’t be part of a retail title. The Foreign File Check uses the layout .xml file to check all files brought into the title package for particular file names and extensions that aren’t allowed in the package. This check is based on only the file names, not on the contents of the files. The disallowed files include extensions that are related to source and debug files, Thumb.db, extraneous registration files other than the ones in the root, and the full list of XBOX operating system files that can’t appear in title packages. This check validates the XBOX Requirement XR-003: Title Quality for Submission. The following table shows the file types and extensions that aren’t allowed in the submitted title package. A title can legitimately use almost any imaginable file extension, which can lead to potential conflicts with the extensions checks. If this situation affects your title, alert your Partner Development Manager (PDM). If you feel you have an exceptional case that requires a file to be included in your title package for which you’re receiving a failure message in the Submission Validator log, consult with your PDM. The following example shows the log output that reports failures in the Foreign File Check.

Binary scan

XBOX console binaries (.exe and .dll) files must be built for AMD64 and be only native code. Currently, the platform doesn’t support managed code binaries. The Binary Scan Check examines each .exe and .dll file that you include in the title package and ensures that it meets these requirements. Use this check to validate XR-003: Title Quality for Submission. In the Binary Scan section, each .exe and .dll file is checked for dependencies that are blocked for security reasons on retail consoles. Generally, this block takes the form of linking to a debug version of a platform file, PIXEvt.dll, or XBOX Studio. The following example shows the log output that reports failures in the Binary Scan Check. The first two failures result from an .exe file linking to two files that aren’t allowed for retail consoles. The third failure is a managed .exe file. The final failure is a non-AMD64 native code .dll file.
Developers should ensure that such debugging-focused dependencies are excluded from release builds of binaries to include in a submission package.

Microsoft component versions

The Game OS covers much of the platform surface area for XBOX. However, titles redistribute a set of Microsoft-supplied binaries. The Approved Libraries page on the XBOX Developer Forums site lists these files and their approved versions. The Submission Validator checks the versions of these files to ensure that any optional DLL files are matching versions. It also captures the Version ID of the Game OS that the exclusive partition title packages into the XVC. Check the versions against the published approved library information before submitting. Submission Validator also extracts the version information for the optional Kinect and XBOX Services DLL files, if your title includes them. The following example shows the version information that appears in the Submission Validator log file.

Missing dependent files

When you dynamically link against dependent libraries, if these libraries are missing, Submission Validator includes the following failure:

ARM64 binaries

You can include ARM64 binaries in your game package for PC alongside your existing x64 compiled executables. Submission Validator checks to ensure the MicrosoftGame.config is correctly referencing the appropriate executable.

See also

Submission Validator (SubmissionValidator.dll) Submission Validator Messages Make package (makepkg.exe) Title packaging, content updates, and streaming-installation testing XBOX Requirements (XRs) (XBOX Developer Downloads->Partner, Publishing, and Release Management Information->XGD Partner Documentation)
Last modified on August 20, 2026