DreamShader — скилл

Шесть скиллов для материалов Unreal Engine на языке DreamShaderLang: агент пишет, компилирует и чинит материалы по коду

  • 133 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Расширенный доступ

Почему такой уровень

  • Безголовая компиляция записывает файлы `.uasset` в проект Unreal.
Все причины и проверки

typedreammoon/dreamshader

Установка

Работает в

В терминале, через 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

СкиллМинимальный доступ102Звезды репозитория

Unreal Engine Skills

Unreal Engine Skills for AI Agents

31 скилл по C++ в Unreal Engine 5.8: GAS, сетевая репликация, Niagara, World Partition, Mass Entity и подсказки об устаревших API

СкиллМинимальный доступ449Звезды репозитория
Официальный

Официальный плагин Epic Games: Claude Code управляет открытым Unreal Editor по MCP, от акторов и Blueprint до Niagara и Sequencer

ПлагинШирокий доступ2 тыс.Звезды репозитория
Выбор редакции

Официальный набор скиллов Unity для агентов: работа с редактором, сборки, 2D и 3D, UI, URP, звук, мультиплеер и монетизация

СкиллРасширенный доступ1,2 тыс.Звезды репозитория

Каркас для разработки игр с ИИ: 43 агента, 67 команд и 109 скиллов для Unity, Unreal, Godot и HTML5 в нескольких оболочках.

ПлагинРасширенный доступ108Звезды репозитория

19 скиллов для Claude Code, Codex и Antigravity CLI: поиск Grok и Exa, документация Context7, Serena и передача задач агентам

ПлагинРасширенный доступ65Звезды репозитория

Коротко о 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

Сообщить о проблеме