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

Unity 2018.4.36f1中声明的UnityEvent未在Inspector面板显示如何排查

泛型UnityEvent不显示在Inspector排查清单(适配Unity 2018.4.36f1版本)

你声明的字段代码为:

public UnityEvent <string, string> OnChatMessage;

可按以下优先级排查问题:

  • 泛型UnityEvent原生不支持直接序列化:Unity 2018版本默认不会对UnityEvent<T>这类泛型事件做序列化处理,直接声明public泛型UnityEvent字段不会在Inspector面板渲染。你需要额外定义一个继承自对应泛型UnityEvent的非泛型子类,并且给子类添加[Serializable]特性,修改后的参考代码如下:
using UnityEngine;
using UnityEngine.Events;
using System;

// 先定义可序列化的自定义事件类
[Serializable]
public class ChatMessageEvent : UnityEvent<string, string> { }

// 再在你自己的MonoBehaviour子类里声明字段
public class YourScriptClassName : MonoBehaviour
{
    public ChatMessageEvent OnChatMessage;
}
  • 检查字段特性修饰:确认OnChatMessage字段没有被添加[HideInInspector]、[NonSerialized]这类会隐藏字段或者阻止序列化的特性。
  • 检查编译状态:查看Unity控制台是否存在任意编译报错,只要有未修复的编译错误,Unity就不会更新脚本的序列化信息,新添加的字段都不会显示在Inspector。修复所有报错后清空控制台,重新选中挂载脚本的GameObject即可。
  • 检查脚本继承关系:你声明OnChatMessage的类必须继承自MonoBehaviour,且该脚本已经正确挂载到场景或预制体的GameObject上,未挂载的脚本不会在Inspector显示字段。
  • 缓存刷新问题:Unity 2018的老旧版本偶发Inspector缓存不刷新的问题,确认代码无问题后可以尝试重启Unity,或者重新挂载一次脚本触发序列化刷新。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 14:45:03