Skip to content
Automation Forge

Plugins / SurfaceForge

Developer preview, and released. The local route is exercised end to end; the hosted one has run previews but not yet a full graduation.

4 plugins in this set.

Engine-only. No accounts, no models, no keys.

A material, reviewed before it is committed.

Turn a prompt or a reference image into reviewable material candidates, graduate one into a PBR map set, and create the Unreal material assets. Provider-neutral and editor-only: generate free on your own card, or through fal.ai when you need resolution the local route cannot reach.

What it does

01

A prompt or a reference image becomes several material candidates

02

Review them, then graduate one into a full PBR map set

03

Unreal material assets created from the set that won

04

Generate free on your own card — StableMaterials and MatFuse, no account and no per-image fee

05

Or PATINA through fal.ai when you need the resolution, priced before you press the button

06

Every graduated map kept in the project as a PNG, never left as a temporary URL

07

One surface scaled to a floor plate or a wall panel without regenerating it

08

The same operations exposed to an agent, as tools

Seen, not described

PlaceholderVideo: SurfaceForge, in the editor, start to finishAssets A2 and A3 — one video per set, plus stills or GIFs per headline capability.

What it is

Materials are where generation is most tempting and most dangerous: a plausible-looking surface can be wrong in ways that only show up under a different light, three scenes later. SurfaceForge answers that with candidates and a review step — several options, looked at, before one becomes an asset.

The word for what happens next is graduation, and it is the same idea the whole family is built on. A candidate is temporary and disposable; graduating it turns it into a PBR map set and the Unreal material assets that use it. Before that moment nothing is committed, and after it the tooling leaves the result alone.

Two routes, and the difference is resolution rather than convenience. The free local runner carries StableMaterials and MatFuse, runs on your own card in a container the plugin ships, and asks for no account and no per-image fee — StableMaterials generates at 512px and clamps anything larger. PATINA, through fal.ai, generates natively to 2048 and reaches 8192 by enlarging afterwards, billed by fal on your own key. Same definitions, same review, same graduation; pick the one the surface needs.

Money is visible before it is spent. The panel quotes both the cost of all the previews and the cost of a graduation — including the size that will actually land — before either button is pressed. And a graduated map is copied into the project as a PNG and kept, because what a hosted provider returns is a temporary URL and a material you cannot re-import is not an asset.

It is a developer preview, and it is released. The local route is exercised end to end: describe, preview, choose, graduate, get a material. The hosted one has generated previews but has not yet been run through a full graduation, MatFuse is selectable and has never been run here, and no provider returns an opacity map — so a decal is always fully opaque. Those are the edges, and they belong on the page rather than in a support thread.

What is in the set

4 plugins, and what each one is for.

Install what you need. A toolset can be deleted and the capability beside it behaves identically; a provider can be deleted and the core still loads, with one fewer option.

SurfaceForge

Core

Definitions, candidates, review, graduation into a PBR map set, and the Unreal material assets that follow. Which master material an import instances is decided by the maps that actually came back, not by which provider was asked. Provider-neutral and editor-only.

Open source · Free

Add to accountGitHub

SurfaceForge Local

Provider

A free local material runner on your own card: StableMaterials and MatFuse in a Docker container the plugin ships. No account, no key, no per-generation fee. StableMaterials generates at 512px, and a preview is deliberately a rough draft — the model is worth judging on a graduation.

SurfaceForge PATINA

Provider

PATINA through fal.ai: a text prompt, a variation on an image, or a surface pulled out of a photograph. Native to 2048 and up to 8192 by enlarging, billed by fal on your own key — with the cost of the previews and of the graduation both quoted before you commit to either.

SurfaceForge Toolset

Agent toolset

The same definition, generation, review, graduation and import operations people use in the editor, exposed to an agent — including the cost estimate, so an agent sees the price a person would. It reports whether a provider is available and why not, and never touches a credential either way.

Open source · Free

Add to accountGitHub

Asked first

What studios ask about SurfaceForge.

Can I use this today?

Yes — every plugin in this set is released. It is a developer preview, which here means the local route has been run end to end and the hosted one has not yet been through a full graduation. The limits below are the real ones rather than a disclaimer.

What is PATINA, and when would I use it over the local runner?

A material model served through fal.ai. It is not a fallback for people without a graphics card — it is the higher-resolution route. The local runner generates at 512px and clamps anything larger; PATINA generates natively to 2048 and reaches 8192 by enlarging afterwards. The local one is free and uses your own card; PATINA is billed by fal on your own key, and a run is priced before it starts.

What does it not do yet?

No provider returns an opacity map, so a material of the decal kind is always fully opaque. Eight material kinds are offered and three master materials exist, so most kinds resolve to the same master today. Previews are flat swatches, which is the wrong way to judge tiling and roughness. And MatFuse is selectable but has never been run here — only StableMaterials has actually generated anything.

Next

Get release news

Opens a message to bojan@blackcode.ch. One email when something ships. Not a newsletter.