# ue-state-trees

Скилл для работы с State Tree в Unreal Engine C++: задачи, условия, evaluators, схемы, переходы и Mass-поведения. Пригодится, когда дерево состояний надо написать или починить.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1100 установок · ★ 405
- Автор: quodsoler
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/quodsoler/unreal-engine-skills/tree/HEAD/skills/ue-state-trees/SKILL.md
- Обновлён: 2026-09-28
- HTML: https://affpapa.org/nevibecode/skills/ue-state-trees

## Что делает

Скилл подключается к агенту как справочник по State Tree в UE 5.8. Внутри — разбор архитектуры: `UStateTree` как data asset, `FStateTreeInstanceData` для хранения между кадрами, `FStateTreeExecutionContext`, который создаётся заново на каждый тик. Отдельная таблица показывает, какой контекст брать: read-only, minimal, полный или weak для отложенных колбэков.

Дальше идут разделы по задачам, условиям, considerations, evaluators, событиям и делегатам. Есть материал про схемы: `IsStructAllowed` решает, появится ли ваш узел в редакторе. Для асинхронного завершения описан шаблон с `FStateTreeWeakExecutionContext` и `FinishTask`. Массовые сущности разбираются через `MassAIBehavior` — в 5.8 он помечен как Experimental, поэтому на нём легко получить нестабильное поведение при обновлении движка.

Скилл сам читает `.agents/ue-project-context.md`, если файл лежит в проекте, и не останавливается, когда его нет. Модули, которые вы используете, нужно добавить в `PublicDependencyModuleNames` в `.Build.cs` — без этого код не соберётся. Для деревьев поведения и навигации автор отправляет к соседнему скиллу `ue-ai-navigation`, для Mass-процессоров — к `ue-mass-entity`.

## Требования
- Работает с: Unreal Engine

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add quodsoler/unreal-engine-skills --skill ue-state-trees -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/ue-state-trees/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/ue-state-trees/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add quodsoler/unreal-engine-skills --skill ue-state-trees -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/ue-state-trees/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add quodsoler/unreal-engine-skills --skill ue-state-trees -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/ue-state-trees/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install quodsoler/unreal-engine-skills ue-state-trees
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/ue-state-trees/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add quodsoler/unreal-engine-skills --skill ue-state-trees -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/quodsoler/unreal-engine-skills --path skills/ue-state-trees
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/ue-state-trees/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add quodsoler/unreal-engine-skills --skill ue-state-trees -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/quodsoler/unreal-engine-skills/tree/HEAD/skills/ue-state-trees/SKILL.md

## Когда брать
- написать задачу State Tree на C++
- разобраться, чем `FStateTreeInstanceData` отличается от контекста
- выбрать подходящий execution context под задачу
- задать условие входа в состояние
- настроить utility-выбор дочернего состояния

## Примеры запросов агенту
- Помоги написать FStateTreeTaskBase для патрулирования между точками
- Почему моя задача не завершается — разбери FinishTask и EStateTreeRunStatus
- Настрой Mass StateTree behaviour для толпы агентов

## Похожие
- [unreal-behavior-trees](https://affpapa.org/nevibecode/skills/unreal-behavior-trees.md) — скилл · 5200 установок
- [unreal-cpp-gameplay](https://affpapa.org/nevibecode/skills/unreal-cpp-gameplay.md) — скилл · 5300 установок
- [unreal-engine-cpp-pro](https://affpapa.org/nevibecode/skills/unreal-engine-cpp-pro.md) — скилл · 1400 установок
- [unreal-engine](https://affpapa.org/nevibecode/skills/unreal-engine.md) — скилл · 511 установок
- [godot-state-machine-advanced](https://affpapa.org/nevibecode/skills/godot-state-machine-advanced.md) — скилл · 486 установок
- [cli-anything-unrealinsights](https://affpapa.org/nevibecode/skills/cli-anything-unrealinsights.md) — скилл · 434 установки

Из того же набора: [quodsoler/unreal-engine-skills](https://affpapa.org/nevibecode/by/quodsoler/unreal-engine-skills.md) — 25 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
