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

Unity版本更新后运行时生成重复EventSystem的问题求助

解决Unity升级后EventSystem重复生成及场景切换输入失效问题

解决方案1:全局单例EventSystem(推荐)

  • 保留层级面板中原有EventSystem,确认它包含EventSystem核心组件和对应平台的输入模块(如PC端的Standalone Input Module、移动端的Touch Input Module)
  • 给该EventSystem挂载以下单例脚本,确保它在场景切换时不被销毁,且全局唯一:
using UnityEngine;
using UnityEngine.EventSystems;

public class SingletonEventSystem : MonoBehaviour
{
    private static SingletonEventSystem _instance;

    void Awake()
    {
        if (_instance != null && _instance != this)
        {
            Destroy(gameObject);
            return;
        }

        _instance = this;
        DontDestroyOnLoad(gameObject);
    }
}
  • 配置完成后,无论切换到哪个场景,都会复用同一个EventSystem,既不会出现重复生成的冲突,也不会在返回初始场景时丢失输入功能。

解决方案2:场景加载时自动检测生成EventSystem

如果需要保留禁用原有EventSystem的操作,可以在全局持久化对象上添加检测脚本,确保每个场景加载后都有可用的EventSystem:

using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.SceneManagement;

public class EventSystemAutoGenerator : MonoBehaviour
{
    void Start()
    {
        EnsureEventSystemExists();
    }

    void OnSceneLoaded(Scene scene, LoadSceneMode mode)
    {
        EnsureEventSystemExists();
    }

    void OnEnable()
    {
        SceneManager.sceneLoaded += OnSceneLoaded;
    }

    void OnDisable()
    {
        SceneManager.sceneLoaded -= OnSceneLoaded;
    }

    void EnsureEventSystemExists()
    {
        if (FindObjectOfType<EventSystem>() == null)
        {
            var eventSystemObj = new GameObject("EventSystem");
            eventSystemObj.AddComponent<EventSystem>();
            eventSystemObj.AddComponent<StandaloneInputModule>();
            // 移动端项目可添加此行:
            // eventSystemObj.AddComponent<TouchInputModule>();
        }
    }
}
  • 将此脚本挂在一个设置了DontDestroyOnLoad的GameObject上(比如全局管理对象),每次场景加载完成后会自动检查并生成缺失的EventSystem。

问题原因说明

Unity 2020及以上版本新增了自动生成EventSystem的逻辑:当场景中检测不到带有有效输入模块的EventSystem时,会自动创建一个。而2019版本无此机制,所以升级后出现了重复生成的情况。禁用原有EventSystem后,切换场景时新场景不会重复生成EventSystem(之前自动生成的实例已随场景销毁),最终导致菜单无法接收输入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 23:15:33