Сохрани, чтобы управление в твоей игре всегда работало чётко! Два основных подхода — старый и новый.
1️⃣ Классический Input Manager (Input.GetKey)
Старый добрый способ, который все знают. Идеален для быстрого прототипа.
// Движение
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");
// Прыжок
if (Input.GetKeyDown(KeyCode.Space))
{
Jump();
}
// ЛКМ
if (Input.GetMouseButtonDown(0))
{
Shoot();
}
✅ Быстро и понятно
❌ Жёстко зашито в коде, сложно переключать схемы управления
2️⃣ Новая система Input System (Unity Package)
Мощный и гибкий инструмент. Нужно поставить через Package Manager.
📌 Сначала настрой Input Actions:
• Создай Action Map (например, "Player")
• Добавь Actions ("Move", "Jump", "Fire")
• Назначь кнопки (WASD, Space, Mouse)
using UnityEngine.InputSystem;
// Чтение вектора движения
private void OnMove(InputValue value)
{
Vector2 moveInput = value.Get<Vector2>();
// перемещаем объект
}
// Обработка одиночного нажатия
private void OnJump(InputValue value)
{
if (value.isPressed) Jump();
}
✅ Переключаемые схемы управления (геймпад, клавиатура)
✅ Автоматическая ремаппинг кнопок
❌ Нужно время на настройку
🔥 Важно:
• Для нового Input System не забудь
PlayerInput компонент на объект• В Build Settings → Player → Active Input Handling выбери "Both"
💬 Какую систему используешь ты? Классику или новую?
🔔 Подпишись — впереди ещё много шпаргалок по Unity и C#!
👉Akrus Games | Unity