DreamShader skill

Six skills for Unreal Engine materials in DreamShaderLang: an agent writes, compiles and fixes materials from source

  • 133 ★ on the repository
  • Last commit
  • MIT
Skill

Extended access

Why this level

  • Headless compilation writes `.uasset` files into the Unreal project.
All reasons and checks

typedreammoon/dreamshader

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/dreamshader

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • Headless compilation writes `.uasset` files into the Unreal project.

This is third-party code. Review the repository files before installing.

What it does

DreamShader is an Unreal Engine plugin that compiles `.dsm`, `.dsf` and `.dsh` text files into standard material, material function and layer assets. The source file is the authoring surface; the asset can be thrown away and rebuilt. The `.skill/` folder holds six skills in Claude Code format. `dream-shader-create` writes a material from a description and checks it at once. `dream-shader-verify` runs `check` and `compile`, `dream-shader-diagnose` explains `DSHnnnn` codes, `dream-shader-decompile` exports an asset back to `.dss`, `dream-shader-optimize` makes the export readable and `dream-shader-migrate` moves 1.x sources to the new syntax.

Who it is for. Technical artists and developers on Unreal Engine 5.3–5.8 who want to write materials as code and hand the routine to an agent.

Good fit when

  • A material described in words should become a compiled Unreal asset.
  • The compiler printed a `DSHnnnn` code and it is unclear what to fix.
  • An existing asset is exported back to readable source.
  • A 1.x project is migrated to `.dss`.

Not a fit when

  • The project does not use Unreal Engine.
  • Materials are built only in the node graph editor.
  • You need an engine version other than 5.3–5.8.

Example request

Create a UI material with a soft glow and verify it by compiling.

Limitations

Works with Unreal Engine 5.3–5.8, and the `dsc.ps1` driver is PowerShell. Headless compilation writes real `.uasset` files, so the `-CleanNew` flag removes what a run created. Auto-loading skills by name targets Claude Code; other agents read the same `SKILL.md` files as plain Markdown. The plugin enables the engine modules `WebSocketNetworking` and `SQLiteCore` automatically.

How to disable. Delete the skills from `.claude/skills/` and disable the DreamShader plugin in Edit, Plugins. Remove the `.dss` sources and generated assets by hand.

FAQ

How do I enable the DreamShader skills?

Copy the plugin into the project, enable it under Edit, Plugins and run `sync-skills.ps1` from the `.skill` folder. The skills land in `.claude/skills/`.

What does dream-shader-verify do?

It runs `check` without writing files or `compile`, then returns exit code 0 or 1 with every diagnostic.

What is DreamShaderLang?

A text format for describing Unreal materials. The compiler builds standard UMaterial and UMaterialFunction assets from it.

Which Unreal versions are supported?

The plugin targets Unreal Engine 5.3–5.8 and uses the MIT license.

Can 1.x files be migrated?

Yes. `dream-shader-migrate` calls `dsc migrate` and proves the new file builds the same graph before writing it.

Discussion

No questions or reviews yet.

Skills

About 76 Unreal Engine 5.8 skills: C++, Blueprints, GAS, animation, materials, MetaHuman and Ultra Dynamic packs

SkillMinimal access102Repository stars

Unreal Engine Skills

Unreal Engine Skills for AI Agents

31 skills for Unreal Engine 5.8 C++: GAS, networking, Niagara, World Partition, Mass Entity and hints on deprecated APIs

SkillMinimal access449Repository stars
Official

Epic Games' official plugin that lets Claude Code drive a running Unreal Editor over MCP, from actors and Blueprints to Niagara and Sequencer

PluginBroad access2KRepository stars
Editors’ pick

Official Unity skill set for agents: editor control, builds, 2D and 3D, UI, URP, audio, multiplayer and monetization

SkillExtended access1.2KRepository stars

A scaffold for AI game development: 43 agents, 67 commands and 109 skills for Unity, Unreal, Godot and HTML5.

PluginExtended access108Repository stars

19 skills for Claude Code, Codex and Antigravity CLI: Grok and Exa search, Context7 docs, Serena and task hand-offs between agents

PluginExtended access65Repository stars

README in short

The project builds Unreal materials from text and links editor extensions for VSCode and Rider. Six skills close the loop: the agent writes source and checks it with the compiler itself.

README badge

Original 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

Report a problem