From d13882eefd7decc745dc8309fc6254acb1d7633d Mon Sep 17 00:00:00 2001 From: Daiki Hakamata Date: Thu, 14 May 2026 13:05:27 +0900 Subject: [PATCH 1/2] add Unity 6000.x API compatibility --- .../Core/Tools/CodeGen/CueEnumDefinitionOpener.cs | 12 +++++++++++- .../Core/Tools/CodeGen/CueEnumDefinitionTreeItem.cs | 6 +++++- .../Tools/CodeGen/CueEnumDefinitionTreeView.State.cs | 5 +++++ .../Core/Tools/CodeGen/CueEnumDefinitionTreeView.cs | 7 +++++++ .../Core/Tools/CueSheetEditor/CueSheetAssetOpener.cs | 12 +++++++++++- .../Core/Tools/CueSheetEditor/Models/CueListItem.cs | 6 +++++- .../Core/Tools/CueSheetEditor/Models/CueListModel.cs | 6 +++++- .../Models/Interfaces/ICueListModel.cs | 6 +++++- .../CueSheetEditor/Models/TrackInspectorModel.cs | 5 +++++ .../CueSheetEditor/Views/CueListTreeView.State.cs | 5 +++++ .../Tools/CueSheetEditor/Views/CueListTreeView.cs | 7 +++++++ .../Core/Tools/CueSheetEditor/Views/CueListView.cs | 5 +++++ 12 files changed, 76 insertions(+), 6 deletions(-) diff --git a/Packages/AudioConductor/Editor/Core/Tools/CodeGen/CueEnumDefinitionOpener.cs b/Packages/AudioConductor/Editor/Core/Tools/CodeGen/CueEnumDefinitionOpener.cs index 55373d3..f4eb886 100644 --- a/Packages/AudioConductor/Editor/Core/Tools/CodeGen/CueEnumDefinitionOpener.cs +++ b/Packages/AudioConductor/Editor/Core/Tools/CodeGen/CueEnumDefinitionOpener.cs @@ -7,16 +7,26 @@ using AudioConductor.Editor.Core.Models; using UnityEditor; using UnityEditor.Callbacks; +using UnityEngine; namespace AudioConductor.Editor.Core.Tools.CodeGen { internal static class CueEnumDefinitionOpener { +#if UNITY_6000_5_OR_NEWER + [OnOpenAsset(0)] + public static bool OnOpen(UnityEngine.EntityId entityId, int line) + => OnOpenImpl(EditorUtility.EntityIdToObject(entityId)); +#else [OnOpenAsset(0)] public static bool OnOpen(int instanceID, int line) { - var asset = EditorUtility.InstanceIDToObject(instanceID); + return OnOpenImpl(EditorUtility.InstanceIDToObject(instanceID)); + } +#endif + private static bool OnOpenImpl(Object asset) + { if (asset is not CueEnumDefinition definition) return false; diff --git a/Packages/AudioConductor/Editor/Core/Tools/CodeGen/CueEnumDefinitionTreeItem.cs b/Packages/AudioConductor/Editor/Core/Tools/CodeGen/CueEnumDefinitionTreeItem.cs index 23eef68..e673620 100644 --- a/Packages/AudioConductor/Editor/Core/Tools/CodeGen/CueEnumDefinitionTreeItem.cs +++ b/Packages/AudioConductor/Editor/Core/Tools/CodeGen/CueEnumDefinitionTreeItem.cs @@ -4,10 +4,14 @@ #nullable enable +#if UNITY_6000_2_OR_NEWER +using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem; +#else +using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem; +#endif using System.Collections.Generic; using AudioConductor.Core.Models; using AudioConductor.Editor.Core.Models; -using UnityEditor.IMGUI.Controls; namespace AudioConductor.Editor.Core.Tools.CodeGen { diff --git a/Packages/AudioConductor/Editor/Core/Tools/CodeGen/CueEnumDefinitionTreeView.State.cs b/Packages/AudioConductor/Editor/Core/Tools/CodeGen/CueEnumDefinitionTreeView.State.cs index 646da21..dedfee5 100644 --- a/Packages/AudioConductor/Editor/Core/Tools/CodeGen/CueEnumDefinitionTreeView.State.cs +++ b/Packages/AudioConductor/Editor/Core/Tools/CodeGen/CueEnumDefinitionTreeView.State.cs @@ -4,6 +4,11 @@ #nullable enable +#if UNITY_6000_2_OR_NEWER +using TreeViewState = UnityEditor.IMGUI.Controls.TreeViewState; +#else +using TreeViewState = UnityEditor.IMGUI.Controls.TreeViewState; +#endif using System; using UnityEditor.IMGUI.Controls; diff --git a/Packages/AudioConductor/Editor/Core/Tools/CodeGen/CueEnumDefinitionTreeView.cs b/Packages/AudioConductor/Editor/Core/Tools/CodeGen/CueEnumDefinitionTreeView.cs index 204a966..81280ec 100644 --- a/Packages/AudioConductor/Editor/Core/Tools/CodeGen/CueEnumDefinitionTreeView.cs +++ b/Packages/AudioConductor/Editor/Core/Tools/CodeGen/CueEnumDefinitionTreeView.cs @@ -14,6 +14,13 @@ using UnityEditor.IMGUI.Controls; using UnityEngine; using Object = UnityEngine.Object; +#if UNITY_6000_2_OR_NEWER +using TreeView = UnityEditor.IMGUI.Controls.TreeView; +using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem; +#else +using TreeView = UnityEditor.IMGUI.Controls.TreeView; +using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem; +#endif namespace AudioConductor.Editor.Core.Tools.CodeGen { diff --git a/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/CueSheetAssetOpener.cs b/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/CueSheetAssetOpener.cs index a5e3c7c..de476a7 100644 --- a/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/CueSheetAssetOpener.cs +++ b/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/CueSheetAssetOpener.cs @@ -7,16 +7,26 @@ using AudioConductor.Core.Models; using UnityEditor; using UnityEditor.Callbacks; +using UnityEngine; namespace AudioConductor.Editor.Core.Tools.CueSheetEditor { internal static class CueSheetAssetOpener { +#if UNITY_6000_5_OR_NEWER + [OnOpenAsset(0)] + public static bool OnOpen(EntityId entityId, int line) + => OnOpenImpl(EditorUtility.EntityIdToObject(entityId)); +#else [OnOpenAsset(0)] public static bool OnOpen(int instanceID, int line) { - var asset = EditorUtility.InstanceIDToObject(instanceID); + return OnOpenImpl(EditorUtility.InstanceIDToObject(instanceID)); + } +#endif + private static bool OnOpenImpl(Object asset) + { if (asset is not CueSheetAsset data) return false; diff --git a/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Models/CueListItem.cs b/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Models/CueListItem.cs index 056b269..b304dbc 100644 --- a/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Models/CueListItem.cs +++ b/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Models/CueListItem.cs @@ -4,10 +4,14 @@ #nullable enable +#if UNITY_6000_2_OR_NEWER +using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem; +#else +using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem; +#endif using System.Collections.Generic; using AudioConductor.Core.Enums; using AudioConductor.Editor.Core.Tools.CueSheetEditor.Enums; -using UnityEditor.IMGUI.Controls; namespace AudioConductor.Editor.Core.Tools.CueSheetEditor.Models { diff --git a/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Models/CueListModel.cs b/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Models/CueListModel.cs index 2a703b5..9a8ae78 100644 --- a/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Models/CueListModel.cs +++ b/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Models/CueListModel.cs @@ -4,6 +4,11 @@ #nullable enable +#if UNITY_6000_2_OR_NEWER +using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem; +#else +using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem; +#endif using System; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; @@ -13,7 +18,6 @@ using AudioConductor.Editor.Core.Tools.Shared; using AudioConductor.Editor.Foundation.CommandBasedUndo; using AudioConductor.Editor.Foundation.TinyRx; -using UnityEditor.IMGUI.Controls; namespace AudioConductor.Editor.Core.Tools.CueSheetEditor.Models { diff --git a/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Models/Interfaces/ICueListModel.cs b/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Models/Interfaces/ICueListModel.cs index 92fcbb5..387026d 100644 --- a/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Models/Interfaces/ICueListModel.cs +++ b/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Models/Interfaces/ICueListModel.cs @@ -4,11 +4,15 @@ #nullable enable +#if UNITY_6000_2_OR_NEWER +using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem; +#else +using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem; +#endif using System; using AudioConductor.Editor.Core.Tools.CueSheetEditor.DataTransferObjects; using AudioConductor.Editor.Core.Tools.CueSheetEditor.Views; using AudioConductor.Editor.Foundation.TinyRx; -using UnityEditor.IMGUI.Controls; namespace AudioConductor.Editor.Core.Tools.CueSheetEditor.Models.Interfaces { diff --git a/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Models/TrackInspectorModel.cs b/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Models/TrackInspectorModel.cs index 603b8b7..6e1f885 100644 --- a/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Models/TrackInspectorModel.cs +++ b/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Models/TrackInspectorModel.cs @@ -236,8 +236,13 @@ public AudioClip? AudioClip set { var actionTypeId = value == null +#if UNITY_6000_4_OR_NEWER + ? $"{_tag} Unset Track {nameof(AudioClip)} {(AudioClip == null ? default : AudioClip.GetEntityId())}" + : $"{_tag} Set Track {nameof(AudioClip)} {value.GetEntityId()}"; +#else ? $"{_tag} Unset Track {nameof(AudioClip)} {(AudioClip == null ? 0 : AudioClip.GetInstanceID())}" : $"{_tag} Set Track {nameof(AudioClip)} {value.GetInstanceID()}"; +#endif var old = _target.Select(track => new AudioClipAndDependencyValueBackup(track)).ToArray(); _history.Register(actionTypeId, Redo, Undo); diff --git a/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Views/CueListTreeView.State.cs b/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Views/CueListTreeView.State.cs index 9d310a2..da4e30e 100644 --- a/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Views/CueListTreeView.State.cs +++ b/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Views/CueListTreeView.State.cs @@ -4,6 +4,11 @@ #nullable enable +#if UNITY_6000_2_OR_NEWER +using TreeViewState = UnityEditor.IMGUI.Controls.TreeViewState; +#else +using TreeViewState = UnityEditor.IMGUI.Controls.TreeViewState; +#endif using System; using System.Collections.Generic; using System.Linq; diff --git a/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Views/CueListTreeView.cs b/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Views/CueListTreeView.cs index ca7f6c1..d535079 100644 --- a/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Views/CueListTreeView.cs +++ b/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Views/CueListTreeView.cs @@ -17,6 +17,13 @@ using UnityEditor.IMGUI.Controls; using UnityEngine; using Object = UnityEngine.Object; +#if UNITY_6000_2_OR_NEWER +using TreeView = UnityEditor.IMGUI.Controls.TreeView; +using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem; +#else +using TreeView = UnityEditor.IMGUI.Controls.TreeView; +using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem; +#endif namespace AudioConductor.Editor.Core.Tools.CueSheetEditor.Views { diff --git a/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Views/CueListView.cs b/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Views/CueListView.cs index 8f0f6fa..bf72af6 100644 --- a/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Views/CueListView.cs +++ b/Packages/AudioConductor/Editor/Core/Tools/CueSheetEditor/Views/CueListView.cs @@ -4,6 +4,11 @@ #nullable enable +#if UNITY_6000_2_OR_NEWER +using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem; +#else +using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem; +#endif using System; using System.Collections.Generic; using System.Linq; From 82879fb07cc3bf7af407a673566b025d569656d3 Mon Sep 17 00:00:00 2001 From: Daiki Hakamata Date: Thu, 14 May 2026 13:27:04 +0900 Subject: [PATCH 2/2] v2.1.1 --- Packages/AudioConductor/CHANGELOG.md | 5 +++++ Packages/AudioConductor/package.json | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Packages/AudioConductor/CHANGELOG.md b/Packages/AudioConductor/CHANGELOG.md index 5bad258..affda6a 100644 --- a/Packages/AudioConductor/CHANGELOG.md +++ b/Packages/AudioConductor/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## v2.1.1 - 2026/05/14 + +- Fix Issues + - Add Unity 6000.x API compatibility for generic TreeView types and InstanceID-to-EntityId transition + ## v2.1.0 - 2026/05/13 - New Features diff --git a/Packages/AudioConductor/package.json b/Packages/AudioConductor/package.json index 82d487f..155e4a2 100644 --- a/Packages/AudioConductor/package.json +++ b/Packages/AudioConductor/package.json @@ -1,6 +1,6 @@ { "name": "jp.co.cyberagent.audioconductor", - "version": "2.1.0", + "version": "2.1.1", "displayName": "Audio Conductor", "unity": "2022.3", "license": "MIT",