- Using Submission Validator
- Problems identified by Submission Validator
- Understanding the results log
- Updating Submission Validator
- Submission Validator release notes
Using Submission Validator
Submission Validator isn’t a standalone tool that the developer uses. Rather, it’s automatically called to check an app when the makepkg pack command is used. For more information about syntax and command-line use, see the makepkg reference page. Submission Validator runs after the title package is created. Validation failures are recorded in the validation log, which is written to the output location that’s specified on the makepkg command line. This is the same output location where the finished title package is created. A localized version of the output is also available (in addition to the English output) at the same location if the/validationlanguage parameter is set on makepkg. The current additional supported validation language is ja-jp.
A subset of Submission Validator tests can be run before title package creation by running the makepkg validate command line. We recommend running it to catch issues before package creation.
Problems identified by Submission Validator
The types of problems that Submission Validator identifies will grow and evolve over time to work toward the goal of smoothing the way from submission, through certification, and to market. For the current list of problems that Submission Validator detects, see Submission Validator quality checks.Understanding the results log
After themakepkg process is complete, the title XVC appears in the output folder. The validation log is in this same folder. You can recognize it by its name in the form of “Validator_[title and package identifier].xml.” You should examine this log for any failures or warnings. In addition to failures and warnings already shown in previous sections, any <failure> tag designates a condition that will cause your submission to be rejected as part of the content ingestion, mastering, and certification phase. Although nothing prevents you from submitting such a package, doing so will cause you wasted time and effort. It’s far better to correct the problems identified until the log contains no <failure> tags.
You might also see <warning> tags in the log. These generally indicate issues that might require an exception. If you have questions about any warnings that are identified, contact your developer account manager (DAM). Even if you’re granted an exception for your title, the <warning> tag still appears in the log file. For a full list of log messages, see Submission Validator Messages.
The <validatorrun> section is at the end of the log, shown as follows. This section contains a <result> tag that indicates overall Fail or Success for Submission Validator tests. Any failure in any section results in an overall failure.
Updating Submission Validator
Submission Validator is implemented as a separate SubmissionValidator.dll found in the\Bin directory of the Microsoft Game Development Kit (GDK). Updates to Submission Validator won’t always correspond to the release cycle of the Microsoft Game Development Kit (GDK). The current version of Submission Validator is always available for download from developer.microsoft.com/games/resources -> downloads. Download the compressed (.zip) file, open it, and place the updated SubmissionValidator.dll in the \Bin directory of the Microsoft Game Development Kit (GDK), overwriting the previous version of Submission Validator. The Certification Tools page also includes the current release version number and date. Inside the compressed file, there’s a text file containing release notes for the current version, including known issues and information about changes to the checks performed by Submission Validator that differ from the descriptions in this article.
Starting with the October 2025 GDK, makepkg supports the /updatesubval option, which checks for a newer version of SubmissionValidator.dll. If an update is available, the option downloads and installs the DLL in the directory that contains makepkg.exe, which is the GDK \Bin directory by default. If /validationpath is specified, the DLL is installed in that directory instead. If the update fails, packaging or validation continues with the currently installed version of SubmissionValidator.dll.
Starting with the October 2026 GDK, use the standalone makepkg updatesubval command to update SubmissionValidator.dll without creating, validating, or uploading a package. Unlike the /updatesubval option, the standalone command returns a nonzero exit code if the update fails.
When an app, a title, or a content package is submitted to Microsoft, the current version of Submission Validator is used to check that submission. Before you submit your app, title, or content package, we recommend that you ensure that you have the current version of Submission Validator on the development PC on which the submission package is being built.
