Unity-Technologies/UnityCsReference · error · NotSupportedException
Unknown scripting backend:{scriptingBackend}
Error message
Unknown scripting backend:{scriptingBackend} What it means
Thrown by BeeBuildPostprocessor when converting a ScriptingImplementation to a ScriptingBackend and the enum value is not one of Mono2x, IL2CPP, or CoreCLR. The default branch surfaces an unsupported scripting backend as a NotSupportedException.
Source
Thrown at Editor/Mono/Modules/BeeBuildPostprocessor.cs:561
protected string GetDataFolderFor(BuildPostProcessArgs args) => $"{BuildPipeline.GetDataCacheForBuildTarget(args.target, args.subtarget)}/Data";
protected ScriptingBackend GetScriptingBackend(BuildPostProcessArgs args)
{
var scriptingBackend = PlayerSettings.GetScriptingBackend(GetNamedBuildTarget(args));
switch (scriptingBackend)
{
case ScriptingImplementation.Mono2x:
return ScriptingBackend.Mono;
case ScriptingImplementation.IL2CPP:
return ScriptingBackend.IL2CPP;
case ScriptingImplementation.CoreCLR:
return ScriptingBackend.CoreCLR;
default:
throw new NotSupportedException("Unknown scripting backend:" + scriptingBackend);
}
}
protected virtual string GetPlatformNameForBuildProgram(BuildPostProcessArgs args) => args.target.ToString();
protected virtual string GetArchitecture(BuildPostProcessArgs args) => EditorUserBuildSettings.GetPlatformSettings(BuildPipeline.GetBuildTargetName(args.target), "Architecture");
protected Dictionary<string, Action<NodeFinishedMessage>> ResultProcessors { get; } = new ();
RunnableProgram MakePlayerBuildProgram(BuildPostProcessArgs args)
{
var buildProgramAssembly = new NPath($"{args.playerPackage}/{GetPlatformNameForBuildProgram(args)}PlayerBuildProgram.exe");
NPath buildPipelineFolder = EditorApplication.applicationBuildPipelinePath;
NPath beePlatformFolder = $"{args.playerPackage}/Bee";
var searchPaths = $"{beePlatformFolder}{Path.PathSeparator}";
if (IL2CPPUtils.UsingDevelopmentBuild())
{
searchPaths = $"{IL2CPPUtils.ConstructBeeLibrarySearchPath()}{Path.PathSeparator}";
}
View on GitHub (pinned to 225b0fbdb5)
Solutions
- Update the converter switch to handle the new ScriptingImplementation value with the correct ScriptingBackend mapping.
- Set PlayerSettings.ScriptingBackend to a supported value (Mono, IL2CPP) for the target platform.
- Ensure the project and build postprocessor target the same Unity version that defines the scripting backend enum.
Example fix
// before
case ScriptingImplementation.CoreCLR:
return ScriptingBackend.CoreCLR;
default:
throw new NotSupportedException(...);
// after
case ScriptingImplementation.CoreCLR:
return ScriptingBackend.CoreCLR;
case ScriptingImplementation.NewBackend:
return ScriptingBackend.NewBackend; Defensive patterns
Strategy: validation
Validate before calling
// Set a supported backend before building: PlayerSettings.SetScriptingBackendForBuildTargetGroup(group, ScriptingImplementation.IL2CPP);
Try / catch
try { /* build */ }
catch (NotSupportedException ex) when (ex.Message.StartsWith("Unknown scripting backend")) { Debug.LogError($"Unsupported scripting backend; set IL2CPP or Mono. {ex.Message}"); } Prevention
- Pin project and postprocessor to the same Unity version
- Extend the switch for new backends
- Use supported ScriptingImplementation values per platform
When it happens
Trigger: A build target or player settings configuration that reports a ScriptingImplementation value the postprocessor does not recognize — e.g. a value from a newer Unity version, an experimental backend, or a platform whose settings were set incorrectly.
Common situations: Upgrading to a Unity version that introduced a new scripting backend enum value without updating this converter. Platform-specific build settings that expose a backend the Bee postprocessor cannot map. Custom/experimental platform targets.
Related errors
- Unknown dll type: {0}
- Scripting backend value {scriptingBackend} is not supported.
- Unhandled scripting backend {scriptingBackend}
- Active build profile is null.
- The SerializedProperty '{0}' is not supported by BeginProper
AI-assisted analysis of Unity-Technologies/UnityCsReference@225b0fbdb5 (2026-08-13).
Data as JSON: /api/errors/97b86a3110722945.
Report an issue: GitHub.