Unity编辑器中UI面板对象内子UI项无法选中异常
Unity 2021.3.0f1 预制体UI子对象点击无法选中问题解决方案
问题表现
- 编辑器环境:Unity 2021.3.0f1,已开启全部Gizmos显示
- 场景对象结构:存在作为预制体根节点的UI Image对象,其下包含若干UI Button子对象
- 异常现象:Scene视图点击子按钮时,Hierarchy面板不会跳转选中对应子对象,始终选中父级UI Image节点,父节点外围出现绿色边框,仅偶发场景下可正常选中子对象
- 现象参考图:

根因与修复步骤
该绿色边框为Unity预制体对象的选中状态标识,异常选中问题按优先级从高到低排查修复即可:
- 修正Scene视图选择模式
找到Scene视图顶部工具栏的选择模式下拉菜单(默认显示Default),切换为Recursive模式。该模式下点击重叠嵌套的UI对象时,会优先选中最靠近点击位置、层级最靠上的子对象,而非最外层父节点,是解决嵌套UI点选偏移的首选配置。
同时检查同工具栏的GameObject Picking(对象拾取)开关,确认父级Image所在的UI层未被设置为拾取锁定。 - 解除预制体选中锁
绿色边框持续出现说明选中逻辑卡在预制体根节点优先状态:在Hierarchy面板找到该预制体根节点,检查节点左侧是否存在锁定图标,存在则点击解锁。
无锁定标识时,双击预制体进入独立预制体编辑模式,再点击场景空白处退出,即可刷新编辑器的选中状态缓存。 - 修正UI射线拦截配置
- 选中父级Image对象,检查是否挂载
Canvas Group组件,若组件上Blocks Raycasts属性为勾选状态,且父级Image的显示区域完全覆盖所有子按钮,会导致所有点击射线被父级拦截,无法触发子对象选中,取消该勾选即可。 - 若父级Image本身不需要交互,直接取消其
Image组件上的Raycast Target勾选,从根源避免射线拦截问题。
- 选中父级Image对象,检查是否挂载
- 修复编辑器缓存bug
以上操作无效时,关闭Unity编辑器,删除项目根目录下的Library文件夹后重新打开项目,重建资源缓存即可。Unity 2021.3.0f1版本存在已知的偶发UI选中状态缓存异常,重建缓存可100%解决该类问题。
内容的提问来源于stack exchange,提问作者Alexander Tukanov
相关产品推荐
相关产品推荐

