Unity 2022.3.11f1中ScriptableObject无法显示问题求助
问题排查:Unity ScriptableObject无法正常显示
问题描述
使用Unity 2022.3.11f1 + Visual Studio Code开发,编写的ScriptableObject脚本无法正常显示,代码如下:
using System.Collections; using System.Collections.Generic; using UnityEngine; [CreateAssetMenu(fileName = "Jancok", menuName = "percobaan/Jancok")] public class Percobaan : ScriptableObject { public string prefabName; public int numberOfPrefabsToCreate; public Vector3[] spawnPoints; }
截图:
排查步骤
1. 确认脚本编译正常
- 查看Unity控制台是否有编译错误,VSCode编辑器内是否有红色波浪线提示语法问题。任何编译错误都会导致Unity无法生成ScriptableObject创建菜单或正常显示Inspector。
- 尝试重启Unity和VSCode,清除编译缓存后重新编译脚本。
2. 检查[CreateAssetMenu]属性配置
- 确认Unity的
Assets > Create菜单中是否存在percobaan/Jancok路径。如果未出现,尝试修改menuName为更简洁的名称(比如"Custom/Percobaan"),保存脚本后等待Unity重新编译,再检查菜单。 - 确保
fileName和menuName拼写无错误,避免特殊字符干扰。
3. 检查ScriptableObject实例关联
- 如果已创建
.asset实例文件但Inspector为空,右键该文件选择Reimport,或删除现有实例重新创建。 - 关键:脚本文件名必须和类名完全一致——你的类名为
Percobaan,脚本文件必须命名为Percobaan.cs,否则Unity无法将实例与脚本关联。
4. 开发环境配置检查
- 确认VSCode已安装必要插件:
C# Dev Kit、Unity Tools,并保持插件为最新版本。 - 在Unity中打开
Edit > Preferences > External Tools,确认外部脚本编辑器选择为Visual Studio Code,点击Regenerate project files重新生成项目配置。 - 检查Unity脚本运行时版本:
Edit > Project Settings > Player > Other Settings > Configuration,确保Scripting Runtime Version与VSCode的.NET配置匹配(建议选择.NET Framework)。
内容的提问来源于stack exchange,提问作者hansueyuu
相关产品推荐
相关产品推荐

