typedreammoon/dreamshader/dream-shader-create
Claude Code and agent skill by typedreammoon/dreamshader
- community
Checking that the SKILL.md file is still in the repository.
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.
Install
npx vskill@latest install typedreammoon/dreamshader/dream-shader-createSKILL.md
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` | |
| a variant of an existing material — other colours, other textures | a .dsi (material instance) | `reference/dss.md` § 7 | |
| 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` | |
a change in a project whose sources are .dsm / .dsf | match the project: a .dsm / .dsf — or offer `dream-shader-migrate` first | `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` | |
| 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:
Fix everything it reports, then check again. An unfamiliar code → `dream-shader-diagnose`; every code has a page under `Docs/diagnostics/`.
4 — Build it. check stops before the shader compiler; compile builds the asset:
Exit 0 and a Generated … line mean it built. -CleanNew deletes the .uasset the run created — keep it on: the editor generates the same material in memory, and a leftover file shadows that. For a file with a /// @custom body, or a .dsp with HLSL passes, run check -Shaders as well — it is the only thing that compiles that HLSL (`dream-shader-verify`).
Batch: every run boots the editor (tens of seconds), and a run over many files costs about the same as one. Write all the files first, then check them with check -All.
5 — Report the source path, the asset path, every parameter with its default and range, and anything the user should look at in the editor (a material's look cannot be checked headlessly).
Worked example
"A UI scanline panel with a scrolling glow band and an adjustable tint":
A red variant is a .dsi beside it, overriding only what differs:
Gotchas
- Names are case-sensitive (
DSH4200/DSH4208, with a "did you mean"). HLSL spellings only —mix,
fract, mod, vec3 are DSH4250.
- A vector never narrows silently: assigning a
float4to afloat3isDSH4226— write.rgb. - No matrices, unbounded loops, `discard` in a branch or `switch` in graph code (
DSH4361,DSH4360,
DSH4362, DSH2160). Those belong in a /// @custom body.
- `UE.*` calls take named arguments (
UE.LinearInterpolate(A = 0.0, B = Gain, Alpha = t)); positional is
DSH5220 except for a few (UE.TexCoord, UE.Time, …). Look the node up in `Docs/builtins/ue.md` rather than guessing pin names.
- A `/// @custom` body is not checked by `check` — only
check -Shaderscompiles it. - One `export void … (inout material m)` per file, and a material's functions in another file (
DSH6201). - A texture uniform has no `= …`:
/// @default /Game/T_Xaboveuniform Texture2D T;(DSH7213). - `@slider` is for scalars — on a vector it is ignored with
DSH7233. - A `.dsp` is UE 5.8+ and needs its pass materials written as
.dsstoo; its traps are in
See also
- `dream-shader-verify` —
check,compile,check -Shaders,-All - `dream-shader-diagnose` — resolving a code
- `Docs/language-v2/index.md` — the 2.0 language in full
- `Docs/examples/custom-pass.md` — complete pipelines with their materials
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.skill/dream-shader-create/SKILL.md
Popularity
- Repository stars
- 111
- Repository forks
- 22
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/typedreammoon/dreamshader/dream-shader-create)