DreamShader — скилл
Шесть скиллов для материалов Unreal Engine на языке DreamShaderLang: агент пишет, компилирует и чинит материалы по коду
- 133 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Безголовая компиляция записывает файлы `.uasset` в проект Unreal.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/dreamshaderОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Безголовая компиляция записывает файлы `.uasset` в проект Unreal.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
DreamShader — плагин Unreal Engine, который компилирует текстовые файлы `.dsm`, `.dsf` и `.dsh` в обычные ассеты материалов, функций материалов и слоев. Исходник служит основой работы, ассет можно удалить и собрать заново. В папке `.skill/` лежат шесть скиллов в формате Claude Code. `dream-shader-create` пишет материал по описанию и сразу проверяет его. `dream-shader-verify` запускает `check` и `compile`, `dream-shader-diagnose` объясняет коды вида `DSHnnnn`, `dream-shader-decompile` выгружает ассет обратно в `.dss`, `dream-shader-optimize` делает выгрузку читаемой, `dream-shader-migrate` переводит исходники версии 1.x на новый синтаксис.
Для кого. Технические художники и разработчики на Unreal Engine 5.3–5.8, которые хотят писать материалы кодом и отдавать рутину агенту.
Подходит, если
- Материал нужно описать словами и получить скомпилированный ассет Unreal.
- Компилятор выдал код `DSHnnnn`, и непонятно, что править.
- Готовый ассет выгружают обратно в читаемый исходник.
- Проект на синтаксисе 1.x переводят на `.dss`.
Не подходит, если
- Проект не использует Unreal Engine.
- Материалы собирают только в графическом редакторе узлов.
- Нужна другая версия движка, чем 5.3–5.8.
Пример запроса к агенту
Создай материал для UI с мягким свечением и проверь его компиляцией.Ограничения
Работает с Unreal Engine 5.3–5.8, драйвер `dsc.ps1` написан на PowerShell. Безголовая компиляция записывает реальные файлы `.uasset`, поэтому флаг `-CleanNew` нужен для удаления созданного прогоном. Автозагрузка скиллов по имени рассчитана на Claude Code, остальные агенты читают те же `SKILL.md` как обычный Markdown. Плагин подключает движковые модули `WebSocketNetworking` и `SQLiteCore`, они включаются автоматически.
Как отключить. Удалите скиллы из `.claude/skills/` и отключите плагин DreamShader в Edit, Plugins. Исходники `.dss` и сгенерированные ассеты уберите вручную.
Частые вопросы
Как подключить скиллы DreamShader?
Скопируйте плагин в проект, включите его в Edit, Plugins и запустите `sync-skills.ps1` из папки `.skill`. Скиллы появятся в `.claude/skills/`.
Что делает dream-shader-verify?
Запускает `check` без записи файлов или `compile`, затем возвращает код 0 или 1 со всеми диагнозами.
Что такое DreamShaderLang?
Текстовый формат описания материалов Unreal. Компилятор собирает из него стандартные UMaterial и UMaterialFunction.
Какие версии Unreal поддерживаются?
Плагин рассчитан на Unreal Engine 5.3–5.8, лицензия MIT.
Можно ли перевести старые файлы 1.x?
Да, `dream-shader-migrate` вызывает `dsc migrate` и перед записью проверяет, что новый файл строит тот же граф.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыОколо 76 скиллов по Unreal Engine 5.8: C++, Blueprints, GAS, анимация, материалы, MetaHuman и пакеты Ultra Dynamic
Unreal Engine Skills
Unreal Engine Skills for AI Agents
31 скилл по C++ в Unreal Engine 5.8: GAS, сетевая репликация, Niagara, World Partition, Mass Entity и подсказки об устаревших API
Официальный плагин Epic Games: Claude Code управляет открытым Unreal Editor по MCP, от акторов и Blueprint до Niagara и Sequencer
Официальный набор скиллов Unity для агентов: работа с редактором, сборки, 2D и 3D, UI, URP, звук, мультиплеер и монетизация
Каркас для разработки игр с ИИ: 43 агента, 67 команд и 109 скиллов для Unity, Unreal, Godot и HTML5 в нескольких оболочках.
19 скиллов для Claude Code, Codex и Antigravity CLI: поиск Grok и Exa, документация Context7, Serena и передача задач агентам
Коротко о README
Проект собирает материалы Unreal из текста и содержит редакторские расширения для VSCode и Rider. Шесть скиллов замыкают цикл: агент пишет исходник и сам проверяет его компилятором.
Бейдж для README
Исходный SKILL.md
--- name: dream-shader-create description: Write a new DreamShader source from a plain-language description — a material, material function, layer, material instance or Custom Pass pipeline — then check and compile it headlessly to prove it builds. Use when asked to create, author, add or write a DreamShader material, shader, material function, material instance, .dss / .dsi / .dsp file (or a .dsm in a 1.x project), or a render pass for an Unreal project. --- # dream-shader-create `<description>` Turn a description — "a UI panel with scrolling scanlines and a glow band" — into a source file that **provably builds**. The proof is not optional: the compiler checks names, types, widths and engine pins, and the only way to know a file passes is to run it. Paths below are relative to the plugin root, `Plugins/DreamShader/`. ## Do this **1 — Pick the kind, then read its reference.** Do not write DreamShaderLang from memory. | The user wants | Write | Read first | | :-- | :-- | :-- | | a material, material function, layer or layer blend | a `.dss` | [`reference/dss.md`](../reference/dss.md) | | a variant of an existing material — other colours, other textures | a `.dsi` (material instance) | [`reference/dss.md` § 7](../reference/dss.md#7-instances--dsi) | | a render pass — an outline, a blur, a screen effect, a compute shader writing a texture | a `.dsp` and the `.dss` materials its passes use. **UE 5.8+ only** | [`reference/dsp.md`](../reference/dsp.md) | | a change in a project whose sources are `.dsm` / `.dsf` | match the project: a `.dsm` / `.dsf` — or offer [`dream-shader-migrate`](../dream-shader-migrate/SKILL.md) first | [`reference/legacy.md`](../reference/legacy.md) | New work is `.dss`. Look at what the project already has (`DShader/**`) before choosing: mirror its folders, naming (`M_`, `MF_`, `MI_`, `CP_`) and the doc-tag style of its parameters. **2 — Decide the details, then write the file** under the project's `DShader/` tree. A `.dss` builds its asset where the file is: `DShader/UI/M_Panel.dss` → `/Game/UI/M_Panel`, named after its `export` function. | Question | Answer it with | | :-- | :-- | | Which surface? | `#pragma material(Domain = …, ShadingModel = …, BlendMode = …)` — [`Docs/settings/material-enums.md`](../../Docs/settings/material-enums.md) | | Must an artist open the graph? | `#pragma material(Backend = Graph)` for a plain `UMaterial`; leave it out for the project default (ThinCustom) | | Dense math, a matrix, a real loop? | a `/// @custom` function — its body is verbatim HLSL | | Reuse an existing material function? | `/// @asset <path>` + an `extern` prototype | | Something a material cannot do — draw objects again, read another pass's output, run compute? | a `.dsp` | Give every parameter `@group`, `@sort` and `@desc` — that is what makes the generated material instance usable without reading the source — and `@slider min max` on scalars with a sensible range. **3 — Check it.** Fast, writes nothing, reports every diagnostic of the file at once: ```bash pwsh -File Plugins/DreamShader/.skill/dsc.ps1 check DShader/UI/M_ScanlinePanel.dss ``` Fix everything it reports, then check again. An unfamiliar code → [`dr