К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

unreal-enhanced-input — скилл для Claude Code: описание и установка

Помогает настроить систему ввода Enhanced Input в Unreal Engine 5. Полезен при сборке ассетов действий, привязке событий в C++ или Blueprints и отладке управления.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-enhanced-input -a claude-code
Открыть на GitHub

Что делает unreal-enhanced-input

Скилл ориентирован на Unreal Engine 5.8, где старая схема осей отключена по умолчанию. Он задаёт порядок работы с ассетами IA_ и IMC_: выбор типа значения вроде Axis2D для бега, назначение модификаторов Negate и Swizzle Input Axis Values на клавиши WASD, а также настройку триггеров. Учтите, что триггер Combo в версии 5.8 считается устаревшим, поэтому строить на нём новые механики не стоит.

В C++ логика опирается на подключение модуля EnhancedInput в *.Build.cs. Агент помогает добавить контекст через UEnhancedInputLocalPlayerSubsystem с учётом приоритетов и привязать методы персонажа к EnhancedInputComponent по событиям ETriggerEvent. Если ввод пропадает на клиенте в сетевой игре или после респауна, это повод перенести вызов AddMappingContext в PawnClientRestart() или PlayerController, так как в BeginPlay контроллер ещё может быть не назначен.

Какие задачи решает

  • связать клавиши WASD в единый вектор Axis2D через модификаторы
  • привязать методы персонажа к EnhancedInputComponent в C++
  • настроить контекст ввода через UEnhancedInputLocalPlayerSubsystem
  • устранить потерю управления у клиента после респауна в мультиплеере

Примеры запросов агенту

  • Настрой привязку прыжка и бега через Enhanced Input в C++ для моего Character
  • Создай ассет IMC_Default с модификаторами Negate и Swizzle для клавиш WASD
  • Исправь потерю ввода после респауна персонажа на клиенте

Как установить unreal-enhanced-input

1Через Skills CLI (Vercel)

npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-enhanced-input -a claude-code

2Вручную: положить файлы

~/.claude/skills/unreal-enhanced-input/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/unreal-enhanced-input/

Из того же набора40

Весь набор →
game-feel gamedev-skills Скилл учит агента добавлять отклик к игровым действиям: тряску камеры, стоп-кадр, твины с easing, сквош и отброс. Для случаев, когда механика работает, но ощущается ватной. Claude Code CX Codex Cursor +1 9 400установок game-ui-ux gamedev-skills Архитектурный скилл для создания адаптивных игровых интерфейсов, стека экранов и навигации с геймпада без покадрового опроса состояния. Claude Code CX Codex Cursor +1 9 200установок level-design gamedev-skills Помогает спроектировать игровой уровень от блокута до плейтеста: маршруты, темп, препятствия и столкновения. Нужен при работе с whitebox, критическим путём и геймплейными комнатами. Claude Code CX Codex Cursor +1 7 500установок camera-systems gamedev-skills Рецепты для игровых камер в 2D и 3D: плавное следование, мёртвые зоны, опережение движения и обработка столкновений для Godot и Unity. Claude Code CX Codex Cursor +1 7 100установок audio-design gamedev-skills Скилл учит раскладывать игровой звук по шинам, глушить музыку под голос и собирать адаптивный саундтрек слоями. Примеры кода — на GDScript под Godot 4.7, с пометками для Unity. Claude Code CX Codex Cursor +1 7 100установок performance-optimization gamedev-skills Скилл учит искать узкое место в игре по профайлеру движка, а не по догадке, и даёт набор правок: пулы объектов, батчинг, отказ от лишних аллокаций. Claude Code CX Codex Cursor +1 7 100установок game-ai gamedev-skills Помогает проектировать логику врагов и NPC: конечные автоматы, деревья поведения, алгоритмы руления и поиск пути A*. Пригодится при сборке поведения ботов для любого движка. Claude Code CX Codex Cursor +1 7 100установок input-systems gamedev-skills Архитектура игровых управлений: отображение клавиш на действия, перекоординирование с проверкой конфликтов, поддержка клавиатуры, геймпада и сенсора, мёртвые зоны, буферизация и coyote time. Claude Code CX Codex Cursor +1 6 800установок

Похожие

threejs-game-director majidmanzarpour Скилл-режиссёр для браузерных игр на Three.js: ведёт от играбельного цикла до графики, UI и проверки в браузере, раздавая фазы соседним скиллам. Claude Code CX Codex Cursor +1 3 000установок threejs-audio-generator majidmanzarpour Скилл генерирует через ElevenLabs звуки, музыку и озвучку для игр на Three.js и встраивает их в проект через Web Audio. Claude Code CX Codex Cursor +1 2 900установок sprite-pipeline официальный OpenAI Готовит и нормализует полосы 2D-анимации по утверждённому кадру. Подойдёт, когда нужны согласованные игровые кадры и лист для предпросмотра. CX Codex GP ChatGPT 53установок orbit-card heygen-com Скилл для встраивания готового 10-секундного 3D-блока HyperFrames: карточка фичи облетает сферу из точек по траектории камеры из Blender. Claude Code CX Codex Cursor +1 9 800установок sdf earthtojake Скилл создаёт и проверяет SDFormat-файлы для моделей и миров, а затем помогает подготовить их к передаче в симулятор. Claude Code CX Codex Cursor +1 10 500установок urdf earthtojake Скилл помогает создавать, проверять и отлаживать описания роботов в формате URDF. Пригодится для работы со звеньями, сочленениями и геометрией. Claude Code CX Codex Cursor +1 10 400установок hatch-pet официальный openai Создаёт и упаковывает анимированных питомцев и спрайт-листы для Codex. Пригодится, когда нужен персонаж по описанию, изображению или фирменным ориентирам. Claude Code CX Codex Cursor +1 3 300установок gcode earthtojake Нарезает модели STL, 3MF и OBJ в G-code через OrcaSlicer. Подходит, когда нужно подготовить файл для печати без подключения к принтеру. Claude Code CX Codex Cursor +1 9 500установок

Вопросы о unreal-enhanced-input

Как установить unreal-enhanced-input в Claude Code?

Выполните в терминале команду npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-enhanced-input -a claude-code.

Что делает unreal-enhanced-input?

Скилл даёт правила для создания ассетов IA_ и IMC_, связывания осей и регистрации контекстов ввода в Unreal Engine 5.

Что нужно добавить в C++ проект для работы с Enhanced Input?

В файле *.Build.cs требуется добавить модуль "EnhancedInput" в список PublicDependencyModuleNames.

Исходный текст

SKILL.md · Apache-2.0
---
name: unreal-enhanced-input
description: >
  Set up player input in Unreal Engine 5 with Enhanced Input: Input Actions, Input Mapping
  Contexts, modifiers and triggers, adding the mapping context, and binding actions by
  ETriggerEvent. Use when wiring movement/look/jump input, creating IA_/IMC_ assets, binding
  in C++ or Blueprints, or when the user mentions Enhanced Input, Input Mapping Context,
  Input Action, IA_/IMC_, or ETriggerEvent.
---

# Unreal Enhanced Input

Wire player input the modern UE5 way with the **Enhanced Input** system: data-driven Input
Actions and Mapping Contexts instead of the legacy Project Settings axis/action mappings.
Targets **UE 5.8** (Enhanced Input is the default; legacy input is deprecated).

## When to use

- Use when adding movement/look/jump/fire input, creating Input Action (`IA_`) and Input
  Mapping Context (`IMC_`) assets, applying modifiers/triggers, adding a mapping context to a
  player, or binding actions in C++ or Blueprints.
- Use when the project has `IA_*`/`IMC_*` assets or references `EnhancedInput`.

**When *not* to use:** engine-agnostic input *architecture* (rebinding strategy, buffering,
multi-device design) → `input-systems`. The Pawn/Character C++ those bindings live in →
`unreal-cpp-gameplay`.

## Core workflow

1. **Enable the module/plugin.** Enhanced Input is on by default in UE5; for C++ binding add
   `"EnhancedInput"` to `PublicDependencyModuleNames` in `*.Build.cs`.
2. **Create Input Actions (`IA_`).** Each has a **Value Type**: `Digital (bool)` for buttons,
   `Axis1D (float)` for triggers, `Axis2D (Vector2D)` for movement/look.
3. **Create an Input Mapping Context (`IMC_`)** that maps keys/buttons to those actions. Use
   **Modifiers** to shape raw input (Negate, Swizzle Input Axis Values, Dead Zone) — e.g. WASD
   into one Axis2D needs Negate on A/S and a Swizzle on W/S. Use **Triggers** (Pressed, Hold,
   Tap) to decide *when* an action fires. The **Combo** trigger is deprecated in UE 5.8; don't
   build new input on it.
4. **Add the mapping context to the player** via the `EnhancedInputLocalPlayerSubsystem`
   (`AddMappingContext(IMC, Priority)`), usually in `BeginPlay`/possession.
5. **Bind actions** to handlers by `ETriggerEvent` (`Triggered`, `Started`, `Completed`, …) on
   the `EnhancedInputComponent`, and read the `FInputActionValue` in the handler.
6. **Verify** in PIE; the Enhanced Input debugging console commands
   (`showdebug enhancedinput`) show which actions trigger and their values.

## Patterns

### 1. Add the mapping context (C++ Character)

```cpp
void AMyCharacter::BeginPlay()
{
    Super::BeginPlay();
    if (APlayerController* PC = Cast<APlayerController>(GetController()))
        if (ULocalPlayer* LP = PC->GetLocalPlayer())
            if (auto* Subsystem = LP->GetSubsystem<UEnhancedInputLocalPlayerSubsystem>())
                Subsystem->AddMappingContext(DefaultMappingContext, /*Priority*/ 0);
}
// DefaultMappingContext is a UPROPERTY(EditAnywhere) TObjectPtr<UInputMappingContext>.
```

### 2. Bind actions and read values

```cpp
void AMyCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
{
    Super::SetupPlayerInputComponent(PlayerInputComponent);

    // The component is an Enhanced Input component when the plugin is active.
    // (Don't name the parameter InputComponent: that shadows AActor::InputComponent.)
    if (UEnhancedInputComponent* EIC = Cast<UEnhancedInputComponent>(PlayerInputComponent))
    {
        EIC->BindAction(MoveAction, ETriggerEvent::Triggered, this, &AMyCharacter::Move);
        EIC->BindAction(LookAction, ETriggerEvent::Triggered, this, &AMyCharacter::Look);
        EIC->BindAction(JumpAction, ETriggerEvent::Started,   this, &ACharacter::Jump);
        EIC->BindAction(JumpAction, ETriggerEvent::Completed, this, &ACharacter::StopJumping);
    }
}

void AMyCharacter::Move(const FInputActionValue& Value)
{
    const FVector2D Axis = Value.Get<FVector2D>();          // Axis2D action
    AddMovementInput(GetActorForwardVector(), Axis.Y);
    AddMovementInput(GetActorRightVector(),   Axis.X);
}
```

### 3. Blueprint equivalent (node flow)

```text
Event BeginPlay
  -> Get Controller -> Cast To PlayerController -> Get Local Player
  -> Get EnhancedInputLocalPlayerSubsystem -> Add Mapping Context (IMC_Default, Priority 0)

// IA_Move is exposed as its own event node in the Character's Event Graph:
EnhancedInputAction IA_Move (Triggered)
  -> Action Value (Vector2D) -> Add Movement Input (Forward * Y, Right * X)
```

## Pitfalls

- **No input at all** — the mapping context was never added (`AddMappingContext`), or the
  player has no Local Player yet. Add it after possession/`BeginPlay`.
- **Input works in single player but not on a client, or stops after respawn** — `BeginPlay`
  ran before the controller possessed the pawn, so `GetController()` was null. Add the context
  in an override of `PawnClientRestart()`, which runs on the owning client after possession
  (Epic's Input Overview does this), or in the PlayerController.
- **Link/compile error binding in C++** — `"EnhancedInput"` isn't in `Build.cs`
  `PublicDependencyModuleNames`.
- **WASD only moves on two keys / wrong axis** — Axis2D needs **Modifiers**: Negate on the
  negative keys (A, S) and a Swizzle Input Axis Values on the vertical (W/S) so both axes map
  correctly. Raw bindings without modifiers misbehave.
- **`Get<FVector2D>()` returns zero** — value-type mismatch: the Input Action is Digital/Axis1D,
  not Axis2D. Match the `Get<T>()` to the action's Value Type.
- **Action fires every frame unexpectedly** — `Triggered` repeats while held for a Down trigger;
  use `Started`/`Completed` for one-shots (jump press/release), or a Pressed/Tap trigger.
- **Two contexts fight** — multiple mapping contexts stack by Priority; a higher-priority
  context can consume a key. Manage with priorities and `RemoveMappingContext`.

## References

- For a complete first-/third-person C++ Character with Enhanced Input (header + source,
  including look/jump and a control-rebind note), read `references/cpp-setup.md`.
- Primary docs: "Enhanced Input in Unreal Engine"
  (`https://dev.epicgames.com/documentation/en-us/unreal-engine/enhanced-input-in-unreal-engine`)
  and "Input Overview"
  (`https://dev.epicgames.com/documentation/en-us/unreal-engine/input-overview-in-unreal-engine`).

## Related skills

- `input-systems` — engine-agnostic input architecture and rebinding strategy.
- `unreal-cpp-gameplay` — the Character/Pawn class and module setup.
- `fps-shooter` — composes input with a 3D controller and shooting.

© gamedev-skills · Apache-2.0 · gamedev-skills/awesome-gamedev-agent-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой