yotiky Tech Blog

とあるエンジニアの備忘録

Unity - 既定のウィンドウのクラス名をすべて取得する

    private void Main()
    {
        var builder = new StringBuilder();
        var list = GetAllEditorWindowTypes();
        foreach ( var n in list.Select(x => x.ToString()).OrderBy(x => x) )
        {
            builder.AppendLine( n );
        }
        Debug.Log( builder.ToString() );
    }

    private static Type[] GetAllEditorWindowTypes()
    {
        var result = new List<Type>();
        var asms = AppDomain.CurrentDomain.GetAssemblies();
        var editorWindow = typeof(EditorWindow);
        foreach (var asm in asms)
        {
            var types = asm.GetTypes();
            foreach (var T in types)
            {
                if (T.IsSubclassOf(editorWindow))
                    result.Add(T);
            }
        }
        return result.ToArray();
    }

結果 (Unity 2022.3.23f1):

JetBrains.Rider.Unity.Editor.FindUsages.Window.FindUsagesWindow
TMPro.EditorUtilities.TMPro_FontAssetCreatorWindow
TMPro.TMP_PackageResourceImporterWindow
TMPro.TMP_ProjectConversionUtility
TMPro.TMP_ProjectTextSpacingConversionTool
TMPro.TMP_SpriteAssetImporter
Unity.PlasticSCM.Editor.AssetMenu.Dialogs.CheckinDialog
Unity.PlasticSCM.Editor.CollabMigration.MigrationDialog
Unity.PlasticSCM.Editor.Configuration.CloudEdition.Welcome.CloudEditionWelcomeWindow
Unity.PlasticSCM.Editor.Configuration.CredentialsDialog
Unity.PlasticSCM.Editor.Configuration.EncryptionConfigurationDialog
Unity.PlasticSCM.Editor.Configuration.SSOCredentialsDialog
Unity.PlasticSCM.Editor.Configuration.TeamEdition.TeamEditionConfigurationWindow
Unity.PlasticSCM.Editor.Developer.UpdateReport.UpdateReportDialog
Unity.PlasticSCM.Editor.Gluon.UpdateReport.UpdateReportDialog
Unity.PlasticSCM.Editor.PlasticWindow
Unity.PlasticSCM.Editor.SwitchModeConfirmationDialog
Unity.PlasticSCM.Editor.UI.Message.PlasticQuestionAlert
Unity.PlasticSCM.Editor.UI.PlasticDialog
Unity.PlasticSCM.Editor.Views.Branches.CreateBranchDialog
Unity.PlasticSCM.Editor.Views.Branches.Dialogs.RenameBranchDialog
Unity.PlasticSCM.Editor.Views.ConfirmContinueWithPendingChangesDialog
Unity.PlasticSCM.Editor.Views.CreateWorkspace.Dialogs.CreateRepositoryDialog
Unity.PlasticSCM.Editor.Views.CreateWorkspace.Dialogs.RepositoryExplorerDialog
Unity.PlasticSCM.Editor.Views.Diff.Dialogs.GetRestorePathDialog
Unity.PlasticSCM.Editor.Views.DownloadPlasticExeWindow
Unity.PlasticSCM.Editor.Views.PendingChanges.Dialogs.CheckinConflictsDialog
Unity.PlasticSCM.Editor.Views.PendingChanges.Dialogs.CreateChangelistDialog
Unity.PlasticSCM.Editor.Views.PendingChanges.Dialogs.DependenciesDialog
Unity.PlasticSCM.Editor.Views.PendingChanges.Dialogs.EmptyCheckinMessageDialog
Unity.PlasticSCM.Editor.Views.PendingChanges.Dialogs.FilterRulesConfirmationDialog
Unity.UI.Builder.Builder
Unity.UI.Builder.BuilderHierarchyWindow
Unity.UI.Builder.BuilderInspectorWindow
Unity.UI.Builder.BuilderLibraryWindow
Unity.UI.Builder.BuilderPaneWindow
Unity.UI.Builder.BuilderPreviewWindow
Unity.UI.Builder.BuilderStyleSheetsWindow
Unity.UI.Builder.BuilderUssPreviewWindow
Unity.UI.Builder.BuilderUxmlPreviewWindow
Unity.UI.Builder.BuilderViewportWindow
Unity.UI.Builder.UIExtensionsTestWindow
Unity.VisualScripting.EmptyGraphWindow
Unity.VisualScripting.FuzzyWindow
Unity.VisualScripting.GraphWindow
Unity.VisualScripting.LudiqEditorWindow
Unity.VisualScripting.SidebarPanelWindow`1[TPanelContent]
Unity.VisualScripting.WebWindow
Unity.VisualScripting.WrappedEditorWindow
UnityEditor.AboutWindow
UnityEditor.AddComponent.AddComponentWindow
UnityEditor.AddShaderVariantWindow
UnityEditor.AnimationWindow
UnityEditor.AnnotationWindow
UnityEditor.AssetSaveDialog
UnityEditor.AssetStoreWindow
UnityEditor.AudioMixerWindow
UnityEditor.BuildPlayerWindow
UnityEditor.BumpMapSettingsFixingWindow
UnityEditor.ColorPicker
UnityEditor.ConsoleWindow
UnityEditor.CurveEditorWindow
UnityEditor.DeviceSimulation.SimulatorWindow
UnityEditor.EditorUpdateWindow
UnityEditor.Experimental.GraphView.GraphViewBlackboardWindow
UnityEditor.Experimental.GraphView.GraphViewEditorWindow
UnityEditor.Experimental.GraphView.GraphViewMinimapWindow
UnityEditor.Experimental.GraphView.GraphViewToolWindow
UnityEditor.Experimental.GraphView.SearchWindow
UnityEditor.ExportRawHeightmap
UnityEditor.ExternalPlayModeView
UnityEditor.FallbackEditorWindow
UnityEditor.FlattenHeightmap
UnityEditor.FrameDebuggerWindow
UnityEditor.GameView
UnityEditor.GradientPicker
UnityEditor.Graphs.AnimationStateMachine.AddStateMachineBehaviourComponentWindow
UnityEditor.Graphs.AnimatorControllerTool
UnityEditor.Graphs.LayerSettingsWindow
UnityEditor.Graphs.ParameterControllerEditor
UnityEditor.GUIViewDebuggerWindow
UnityEditor.IconSelector
UnityEditor.IMGUI.Controls.AdvancedDropdownWindow
UnityEditor.ImportActivityWindow
UnityEditor.ImportRawHeightmap
UnityEditor.InspectorWindow
UnityEditor.LayerVisibilityWindow
UnityEditor.Licensing.UI.Events.Windows.LicenseExpiredWindow
UnityEditor.Licensing.UI.Events.Windows.LicenseOfflineValidityEndedWindow
UnityEditor.Licensing.UI.Events.Windows.LicenseOfflineValidityEndingWindow
UnityEditor.Licensing.UI.Events.Windows.LicenseRemovedWindow
UnityEditor.Licensing.UI.Events.Windows.LicenseReturnedWindow
UnityEditor.Licensing.UI.Events.Windows.LicenseRevokedWindow
UnityEditor.Licensing.UI.Events.Windows.TemplateLicenseEventWindow
UnityEditor.LightingExplorerWindow
UnityEditor.LightingWindow
UnityEditor.LightmapPreviewWindow
UnityEditor.MetroCertificatePasswordWindow
UnityEditor.MetroCreateTestCertificateWindow
UnityEditor.MinMaxCurveEditorWindow
UnityEditor.NavMeshEditorWindow
UnityEditor.Networking.PlayerConnection.AttachToPlayerPlayerIPWindow
UnityEditor.ObjectSelector
UnityEditor.OcclusionCullingWindow
UnityEditor.Overlays.OverlayPopupWindow
UnityEditor.Overlays.PopupWindowBase
UnityEditor.Overlays.SaveOverlayPreset
UnityEditor.PackageExport
UnityEditor.PackageImport
UnityEditor.PackageManager.UI.Internal.AssetStoreFiltersWindow
UnityEditor.PackageManager.UI.Internal.DropdownContainer
UnityEditor.PackageManager.UI.Internal.PackageManagerFiltersWindow
UnityEditor.PackageManager.UI.Internal.UpmFiltersWindow
UnityEditor.PackageManager.UI.PackageManagerWindow
UnityEditor.ParticleSystemWindow
UnityEditor.Performance.ProfileAnalyzer.ProfileAnalyzerExportWindow
UnityEditor.Performance.ProfileAnalyzer.ProfileAnalyzerWindow
UnityEditor.Performance.ProfileAnalyzer.ThreadSelectionWindow
UnityEditor.PhysicsDebugWindow
UnityEditor.PlaceTreeWizard
UnityEditor.PlayModeView
UnityEditor.PopupWindow
UnityEditor.PopupWindowWithoutFocus
UnityEditor.PreferenceSettingsWindow
UnityEditor.Presets.AddPresetTypeWindow
UnityEditor.Presets.PresetSelector
UnityEditor.PreviewWindow
UnityEditor.ProfilerWindow
UnityEditor.Profiling.ModuleEditor.ModuleEditorWindow
UnityEditor.Profiling.ProfilerModulesDropdownWindow
UnityEditor.ProgressWindow
UnityEditor.ProjectBrowser
UnityEditor.ProjectSettingsWindow
UnityEditor.ProjectTemplateWindow
UnityEditor.PropertyEditor
UnityEditor.RagdollBuilder
UnityEditor.SafeModeToolbarWindow
UnityEditor.SaveWindowLayout
UnityEditor.SceneHierarchySortingWindow
UnityEditor.SceneHierarchyWindow
UnityEditor.SceneTemplate.SceneTemplateDialog
UnityEditor.SceneView
UnityEditor.ScriptableWizard
UnityEditor.Search.ColumnEditor
UnityEditor.Search.IndexManager
UnityEditor.Search.QueryBlockEditor`2[T,B]
UnityEditor.Search.QueryExpressionBlockEditor
UnityEditor.Search.QueryNumberBlockEditor
UnityEditor.Search.QueryParamBlockEditor
UnityEditor.Search.QueryTextBlockEditor
UnityEditor.Search.QueryVectorBlockEditor
UnityEditor.Search.QuickSearch
UnityEditor.Search.SearchPickerWindow
UnityEditor.Search.SearchReportWindow
UnityEditor.Search.TransactionViewer
UnityEditor.SearchableEditorWindow
UnityEditor.SettingsWindow
UnityEditor.ShortcutManagement.ConflictResolverWindow
UnityEditor.ShortcutManagement.DeleteShortcutProfileWindow
UnityEditor.ShortcutManagement.PromptWindow
UnityEditor.ShortcutManagement.ShortcutManagerWindow
UnityEditor.SketchUpImportDlg
UnityEditor.Snap.GridSettingsWindow
UnityEditor.Snap.SnapIncrementSettingsWindow
UnityEditor.Snap.SnapSettingsWindow
UnityEditor.SpriteUtilityWindow
UnityEditor.TerrainDetailMeshWizard
UnityEditor.TerrainDetailTextureWizard
UnityEditor.TerrainWizard
UnityEditor.TestTools.CodeCoverage.CodeCoverageWindow
UnityEditor.TestTools.TestRunner.TestRunnerWindow
UnityEditor.TextCore.Text.FontAssetCreatorWindow
UnityEditor.TextCore.Text.SpriteAssetImporter
UnityEditor.TierSettingsWindow
UnityEditor.Timeline.TimelineEditorWindow
UnityEditor.Timeline.TimelineWindow
UnityEditor.TreeViewExamples.TreeViewTestWindow
UnityEditor.TreeWizard
UnityEditor.UIAutomation.TestEditorWindow
UnityEditor.UIElements.Debugger.AllocatorDebugger
UnityEditor.UIElements.Debugger.UIElementsDebugger
UnityEditor.UIElements.Debugger.UIElementsEventsDebugger
UnityEditor.UIElements.Debugger.UIRDebugger
UnityEditor.UIElements.GUIDConverterListDialog
UnityEditor.UIElements.GUIDConverterMainDialog
UnityEditor.UIElements.Samples.UIElementsSamples
UnityEditor.UIElements.UIElementsEditorWindowCreator
UnityEditor.UISystemPreviewWindow
UnityEditor.UndoHistoryWindow
UnityEditor.UndoSerializationWindow
UnityEditor.UndoWindow
UnityEditor.VersionControl.WindowChange
UnityEditor.VersionControl.WindowCheckoutFailure
UnityEditor.VersionControl.WindowPending
UnityEditor.VersionControl.WindowResolve
UnityEditor.VersionControl.WindowRevert
UnityEditorInternal.AddCurvesPopup
UnityEditorInternal.Profiling.ProfilerFrameDataViewBase+SelectedSampleStackWindow