{"record":{"id":"8942ab953e9a5720","repo":"Unity-Technologies/UnityCsReference","slug":"the-module-manager-is-deprecated","errorCode":null,"errorMessage":"The Module Manager is deprecated","messagePattern":"The Module Manager is deprecated","errorType":"exception","errorClass":"NotSupportedException","httpStatus":null,"severity":"error","filePath":"Editor/Mono/InternalEditorUtility.bindings.cs","lineNumber":1237,"sourceCode":"        internal static PrecompiledAssembly[] GetUnityAssemblies(bool buildingForEditor, BuildTarget target)\n        {\n            return GetUnityAssembliesInternal(buildingForEditor, target);\n        }\n\n        [FreeFunction(\"GetUnityAssembliesManaged\")]\n        [return: UnityMarshalAs(NativeType.ScriptingObjectPtr)]\n        extern private static PrecompiledAssembly[] GetUnityAssembliesInternal(bool buildingForEditor, BuildTarget target);\n\n        [FreeFunction(\"GetPrecompiledAssemblyPathsManaged\")]\n        [return: UnityMarshalAs(NativeType.ScriptingObjectPtr)]\n        extern internal static string[] GetPrecompiledAssemblyPaths();\n\n        [FreeFunction(\"GetEditorAssembliesPath\")]\n        extern internal static string GetEditorScriptAssembliesPath();\n\n        [Obsolete(\"The Module Manager is deprecated\", error: true)]\n        [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]\n        public static void ShowPackageManagerWindow() { throw new NotSupportedException(\"The Module Manager is deprecated\"); }\n\n        // For testing Vector2 marshalling\n        [FreeFunction(\"InternalEditorUtilityBindings::PassAndReturnVector2\")]\n        extern public static Vector2 PassAndReturnVector2(Vector2 v);\n\n        // For testing Color32 marshalling\n        [FreeFunction(\"InternalEditorUtilityBindings::PassAndReturnColor32\")]\n        extern public static Color32 PassAndReturnColor32(Color32 c);\n\n        [FreeFunction(\"InternalEditorUtilityBindings::SaveCursorToFile\")]\n        extern public static bool SaveCursorToFile(string path, Texture2D image, Vector2 hotSpot);\n\n        [FreeFunction(\"InternalEditorUtilityBindings::SaveCursorToInMemoryResource\")]\n        extern internal static bool SaveCursorToInMemoryResource(Texture2D image, Vector2 hotSpot, ushort cursorDataResourceId, IntPtr cursorDirectoryBuffer, uint cursorDirectoryBufferSize, IntPtr cursorDataBuffer, uint cursorDataBufferSize);\n\n        [FreeFunction(\"GetScriptCompilationDefines\")]\n        extern internal static string[] GetCompilationDefines(EditorScriptCompilationOptions options, BuildTarget target, int subtarget, ApiCompatibilityLevel apiCompatibilityLevel, string[] extraDefines = null);\n","sourceCodeStart":1219,"sourceCodeEnd":1255,"githubUrl":"https://github.com/Unity-Technologies/UnityCsReference/blob/225b0fbdb57cc17d094e8056b71f8314aba56f73/Editor/Mono/InternalEditorUtility.bindings.cs#L1219-L1255","documentation":"ShowPackageManagerWindow is marked Obsolete(error:true) and throws NotSupportedException because the legacy 'Module Manager' window was removed and replaced by the Package Manager. The method body exists only to fail loudly for old callers.","triggerScenarios":"Any code calling InternalEditorUtility.ShowPackageManagerWindow() — old editor scripts, menu items, or third-party packages that opened the module manager programmatically.","commonSituations":"Upgrading a project from a Unity version that had the Module Manager. A legacy editor extension that wires a menu item or button to this call.","solutions":["Replace the call with the Package Manager API: window = EditorWindow.GetWindow<PackageManagerWindow>() or open it via the standard menu path.","Remove dead editor code that referenced the module manager.","Update third-party packages to versions compatible with the current Unity major version."],"exampleFix":"// before\nInternalEditorUtility.ShowPackageManagerWindow();\n\n// after\nEditorWindow.GetWindow<UnityEditor.PackageManager.UI.PackageManagerWindow>();","handlingStrategy":"validation","validationCode":"// Do not call ShowPackageManagerWindow; open the Package Manager window instead.\nEditorWindow.GetWindow<UnityEditor.PackageManager.UI.PackageManagerWindow>();","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Replace module-manager calls with Package Manager API","Remove dead editor references during upgrades","Update third-party editor packages"],"tags":["unity","editor","deprecated","obsolete-api","package-manager"],"backgroundTag":null,"analyzedSha":"225b0fbdb57cc17d094e8056b71f8314aba56f73","analyzedAt":"2026-08-13T19:07:19.849Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}