Copyright © 2026 Unity Technologies
How to reproduce:
1. Create a new project
2. In the Project window, right-click > Create > Scripting > Empty C# Script, name it "RepaintAsset", and paste:
using UnityEngine; [CreateAssetMenu(menuName = "Repro/RepaintAsset")] public class RepaintAsset : ScriptableObject { public bool toggle; } #if UNITY_EDITOR [UnityEditor.CustomEditor(typeof(RepaintAsset))] public class RepaintAssetEditor : UnityEditor.Editor { float _last; int _count; public override void OnInspectorGUI() { if (Event.current.type == EventType.Repaint) { _count++; if (UnityEngine.Time.realtimeSinceStartup - _last > 1f) { Debug.Log($"Editor {GetInstanceID()}: {_count} repaints/s"); _last = UnityEngine.Time.realtimeSinceStartup; _count = 0; } } DrawDefaultInspector(); } } #endif
3. In the Project window, right-click > Create > Repro > RepaintAsset
4. Select the "RepaintAsset" asset and press Option + P to open the Properties window
5. Move the mouse cursor away from the Properties window, keep it still, and observe that no repaint messages are logged in the Console window
6. Enter Play mode
7. Press Option + P to open a second Properties window for the same "RepaintAsset" asset
8. Keep the mouse still
9. Observe the Console window
Actual result: The Properties window from step 4 logs ~7 repaints/s; the window from step 7 logs 0
Expected result: Neither window logs repaints while the mouse is still
Reproducible with: 6000.0.0f1, 6000.0.82f1, 6000.3.22f1, 6000.5.9f1, 6000.6.0b9, 6000.7.0a5
Reproducible on: macOS 26.5.2 (M1 Max)
Not reproducible on: No other environments tested
Workaround: Close and reopen the Properties window after entering or exiting Play mode
Issues you vote on will appear here