EventSystem — это "мозг" обработки ввода в Unity UI. Без него ваши кнопки не будут кликаться! Разберём его работу в 5 ключевых пунктах.
🔧 Что делает EventSystem?
1. Обрабатывает клики/тапы через StandaloneInputModule (ПК/мобилки)
2. Передаёт события всем UI-элементам
3. Управляет фокусом (например, для клавиатурного ввода)
🛠 Основные компоненты
Input Module — Преобразует ввод (мышь/тач/геймпад) в события
Raycaster — Определяет, по какому объекту кликнули
EventSystem — Координирует работу всей системы
Важно:
На сцене должен быть ровно один EventSystem
Для World Space UI нужен Physics Raycaster
💡 Как настроить?
1. Автоматически:
При создании UI через GameObject → UI → Button Unity добавляет:
- EventSystem
- StandaloneInputModule
- GraphicRaycaster
2. Вручную:
// Добавить кастомный ввод (например, для геймпада)
var es = gameObject.AddComponent<EventSystem>();
es.AddComponent<StandaloneInputModule>();
⚠️ Частые проблемы
1. Кнопки не работают → Проверьте:
- Наличие EventSystem на сцене
- Не перекрывают ли другие объекты UI
- Не отключён ли Raycaster
2. Не работает тач на мобилках → Замените StandaloneInputModule на TouchInputModule
3. World Space UI не кликается → Добавьте PhysicsRaycaster на камеру