Unity-Technologies/UnityCsReference · error · Exception
Invalid extension manifest at \"{0}\".
Error message
Invalid extension manifest at \"{0}\". What it means
Thrown from the UWPExtension constructor when parsing a UWP extension SDK manifest (XDocument). The <FileList> element's TargetPlatform attribute is read and must equal "UAP"; any other value (or an unexpected manifest schema) is rejected as an invalid extension manifest before references are resolved.
Source
Thrown at Editor/Mono/Scripting/Compilers/UWPReferences.cs:71
DefaultFallback = defaultFallback;
}
}
[VisibleToOtherModules("UnityEditor.BurstModule")]
internal static class UWPReferences
{
private sealed class UWPExtension
{
public string Name { get; private set; }
public string[] References { get; private set; }
public UWPExtension(string manifest, string windowsKitsFolder, string sdkVersion)
{
var document = XDocument.Load(manifest);
var fileListElement = document.Element("FileList");
if (fileListElement.Attribute("TargetPlatform").Value != "UAP")
throw new Exception(string.Format("Invalid extension manifest at \"{0}\".", manifest));
Name = fileListElement.Attribute("DisplayName").Value;
var containedApiContractsElement = fileListElement.Element("ContainedApiContracts");
References = GetReferences(windowsKitsFolder, sdkVersion, containedApiContractsElement);
}
}
private static readonly Version kMinimumSupportedUWPVersion = new Version(10, 0, 19041, 0);
private static readonly PreviousUWPSDK kMinimumSupportedPreviousUWPSDK = new PreviousUWPSDK(kMinimumSupportedUWPVersion, true);
private static readonly UWPSDK kMinimumSupportedUWPSDK = new UWPSDK(kMinimumSupportedUWPVersion, new Version(16, 0), new[] { kMinimumSupportedPreviousUWPSDK });
public static UWPSDK MinimumSupportedUWPSDK { get { return kMinimumSupportedUWPSDK; } }
public static string GetBinPath(UWPSDK sdk, string architecture)
{
var folder = GetWindowsKit10();
if (string.IsNullOrEmpty(folder))
return null;
var version = SdkVersionToString(sdk.Version);
View on GitHub (pinned to 225b0fbdb5)
Solutions
- Install/select a supported UWP/UAP SDK and a Windows Kits folder whose extension manifests declare TargetPlatform="UAP".
- Verify the sdkVersion and windowsKitsFolder passed to UWP references resolve to a real UAP extension SDK.
- Inspect the manifest path shown in the message and confirm its <FileList> element is a valid UAP extension manifest.
Defensive patterns
Strategy: validation
Validate before calling
var doc = XDocument.Load(manifest);
var fileList = doc.Element("FileList");
if (fileList?.Attribute("TargetPlatform")?.Value != "UAP")
throw new InvalidOperationException($"{manifest} is not a UAP extension manifest; check the Windows SDK path."); Try / catch
try
{
var ext = new UWPExtension(manifest, windowsKitsFolder, sdkVersion);
}
catch (Exception ex) when (ex.Message.Contains("Invalid extension manifest"))
{
// Point the build at a UAP-capable SDK manifest instead.
} Prevention
- Install a supported UWP/UAP SDK before building for UWP.
- Verify the windowsKitsFolder and sdkVersion resolve to a real UAP extension SDK.
- Inspect extension manifests' TargetPlatform attribute before relying on them.
When it happens
Trigger: Constructing a UWPExtension with a manifest whose <FileList TargetPlatform="..."> attribute is not "UAP", during UWP player build reference resolution.
Common situations: Pointing the build at the wrong Windows SDK / kits folder, an outdated or hand-edited extension SDK manifest, mismatched UWP SDK version selection, or a non-UAP SDK manifest being picked up.
Related errors
- Invalid platform manifest at \"{0}\".
- Build profile is invalid.
- Cannot start a new build because there is already a build in
- The 'locationPathName' parameter for BuildPipeline.BuildPlay
- For the '{0}' target the 'locationPathName' parameter for Bu
AI-assisted analysis of Unity-Technologies/UnityCsReference@225b0fbdb5 (2026-08-13).
Data as JSON: /api/errors/45b90b481ff26c98.
Report an issue: GitHub.