You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为ScriptableObject添加空CustomEditor导致Inspector异常显示问题

问题原因与解决办法

核心问题

你在自定义编辑器中用async void修饰了OnInspectorGUI方法,这完全违背了Unity Editor GUI的同步绘制机制。Unity的Inspector绘制是每帧同步执行的,异步方法会让base.OnInspectorGUI()的执行脱离正常GUI绘制周期,导致内置的列表滚动容器无法正确生成,所有200个列表项被一次性渲染,进而引发卡顿。

修复方案

直接移除async修饰符,将方法改回同步执行即可:

public override void OnInspectorGUI()
{
    base.OnInspectorGUI();
}

额外说明

如果业务逻辑确实需要异步操作,绝对不能直接放在OnInspectorGUI内。可以把异步逻辑抽离到单独方法中,通过EditorApplication.update或者Task.Run配合EditorUtility.DisplayProgressBar来处理,既不阻塞GUI线程,也能保证Inspector正常绘制。

内容的提问来源于stack exchange,提问作者Nick Hudson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 23:09:49