UInkwellSettings, a UDeveloperSettings declared
config = Game, defaultconfig. Its container is Project, its category Plugins, and
its section Inkwell — that is the whole of the path above, and there is no second
settings page anywhere else in the editor.
Per-project or per-user?
Every setting on this page is per-project. Changes are written to your project’sConfig/DefaultGame.ini, are checked into source control with the project, and apply to
everyone who opens it — including Show Toolbar Button, which reads like a personal
editor preference but is not one.
Inkwell stores exactly one thing per user: the Page Editor’s recent documents list
behind the toolbar dropdown. That is a workflow habit rather than project data, so it goes
to Saved/Config/.../EditorPerProjectUserSettings.ini under the section
[Inkwell.PageEditor], key RecentDocuments, capped at eight entries. Nothing else the
plugin does writes per-user config.
When a configured asset is unset or fails to load, Inkwell logs one warning per session
naming the exact setting to fix — for example
Set 'Project Settings > Plugins > Inkwell > Page Ink Material' — and the accessor returns
nothing. If pages stop rendering after a settings change, read the Output Log for
LogInkwell before anything else.Materials
Project Settings → Plugins → Inkwell → Materials. Both entries are soft object references, so nothing loads until a page is actually drawn.Page Ink Material is the base only while a document’s Paper Mode is Texture asset
or Generated. A document in Custom Material mode brings its own material (its
Paper Material replaces the slot), and one in Mesh’s Own Material mode instances
whatever material the target mesh already wears — neither touches this setting. Both of
those materials must carry
MF_InkwellPageInk to receive the ink; see
Rendering → the MF_InkwellPageInk contract.Material Parameters
Project Settings → Plugins → Inkwell → Material Parameters. All fifteen live behind the category’s Advanced expander, because most projects never touch them. These are the parameter names Inkwell writes into the page material’s dynamic instances. The defaults match the parameters insideMF_InkwellPageInk, and UE hoists a material
function’s parameters onto whatever material calls it — so a custom material built by
dropping that function into its graph automatically has every name below, and this
section can stay closed. Change these names only if you built a page material without
the function and named its parameters differently.
Ink and paper
Face mapping — where on a mesh’s face the page lands (the display component’s
Page Face property). A material without these parameters ignores face mappings; the
setters are silent no-ops.
Back of the sheet — the flat-plane fallback for two-sided pages.
A mesh with no material slot named
Back shows an authored back through these on its one
material, selected by TwoSidedSign and sampled U-mirrored. All default to inert.
The values pushed into these parameters come from each
Ink Page Document — its Ink Tint, Ink Strength, Paper Tint and
resolved paper texture. See
Rendering → the page material for exactly what is
set, and what is deliberately left alone.
Content
Project Settings → Plugins → Inkwell → Content.Fonts
Project Settings → Plugins → Inkwell → Fonts. These feed the Page Editor’s font picker and the font import tool; none of them affect a packaged build.Rendering
Project Settings → Plugins → Inkwell → Rendering.Editor
Project Settings → Plugins → Inkwell → Editor.Reading the settings from Blueprint
The resolved assets are available as Blueprint-pure nodes under the category Inkwell → Settings. Each loads its soft reference and returns the asset, or nothing plus the one-per-session warning described above.
The values of the settings — parameter names, search paths, the bake clamp — are not
exposed to Blueprint. Read them in C++ through
UInkwellSettings::Get(), which returns the
class default object and is never null. The same six accessors exist there as statics,
alongside ResolvePageInkMaterial(), ResolvePagePreviewMaterial(),
ResolvePageSheetMesh(), ResolveDefaultPaperTexture(), ResolveBlankInkTexture() and
ResolveDefaultFont() — short aliases with identical behavior.
Using your own page material
Before repointing Page Ink Material project-wide, check whether a paper mode already does what you want with no settings change at all: Custom Material puts your material on one document’s pages, and Mesh’s Own Material lays ink onto whatever a mesh already wears. Repoint the setting when you want every page in the project on your material.1
Build the material on MF_InkwellPageInk
Make your own material — or duplicate
/Inkwell/Materials/M_PageInk into your content
folder — and drop the MF_InkwellPageInk material function into its graph: feed it
your paper color, wire its InkedColor output onward.The function carries the nine ink parameters — InkTexture, BackInkTexture,
InkTint, PaperTint, InkStrength, InkUVTransform, InkUVOffset, InkOnBackFace
and HasAuthoredBack — and UE hoists them onto your material, so those names match
automatically.The six paper parameters — PaperTexture, UsePaperTexture, BackPaperTexture,
UseBackPaperTexture, BackPaperTint and HasDistinctBackPaper — are not in the
function, by design: the function inks whatever paper colour you feed it, and your paper
is yours to build. Declare them yourself only if you want Inkwell to drive your paper —
that is, if your documents use Texture paper mode, or a back paper distinct from the
front. Duplicating /Inkwell/Materials/M_PageInk is the shortest route, since it already
declares all six. Skip them and Texture-mode pages simply keep whatever paper your
material draws.Plugin content is read-only in a shipped install, so never edit /Inkwell/ assets in
place.2
Or match the parameter names by hand
A material built without the function works too, if its parameters match the names
under Material Parameters — or you change those names to match your material. A
parameter Inkwell writes that your material does not have is silently ignored: the
page renders, but it stops responding to that document setting. Without the ink
texture parameter there is no writing at all.
3
Point the setting at it
Set Page Ink Material to your material. Placed pages re-apply on the next refresh;
a property edit on the component, or reopening the map, forces one.
4
Confirm in the Output Log
No
LogInkwell warning means the asset resolved. A warning naming the setting means
the path is wrong or the asset is not cooked into this build.Next
Rendering pipeline
Where the material, the parameter names and the bake clamp are actually used.
Fonts
What the font search paths and the import output path feed.
Blueprint API
The full runtime surface, including the settings accessors.
FAQ
What the one-per-session settings warnings mean in practice.