Skip to main content
This is the complete Blueprint surface of the Inkwell runtime module — nothing on this page needs C++, and nothing Blueprint-visible is missing from it. For task-oriented walkthroughs, use the component pages instead: Ink Page Display, Ink Page Stack, Ink Page, Ink Page Reader, Ink Page Interactor, Ink Page widget.
How to read this page. Names are given as they appear in the Blueprint palette, with the C++ identifier in parentheses. Boolean properties lose their b prefix in Blueprint, so bLoopPages is the pin Loop Pages. Functions marked pure are green nodes with no execution pins. Where a function takes a world context object, that pin is hidden in Blueprint and filled in for you. Functions with a Side parameter (Ink Page Side) default it to Front — leave it alone unless you are working with an authored page back.

Ink Page Document

UInkPageDocument, display name Ink Page Document — a Data Asset holding authored page content. Create one with right-click → Inkwell → Page Document and author it in the Page Editor.

Properties

Every document property is BlueprintReadOnly except Page Width Cm. That is deliberate: a page change has to invalidate the bake cache, which a directly writable array could not guarantee, so content changes go through the functions below. Page Setup Paper & Ink Default Text Style Pages
FontReferences (hard references to every font the markup names by string path, maintained by the Page Editor on save so the cooker can see them), ContentRevision and LayoutVersion exist on the asset but are not exposed to Blueprint. To invalidate bakes, call Bump Revision. The editor-only Preview Mesh properties never cook.

Functions

Category Inkwell → Page Document.
Get Page returns a copy. Editing the struct you get back changes nothing in the document — push it back with Set Page. Every mutating node above bumps the content revision for you; nothing else does. And note the asymmetry that keeps old documents free: Add Page guarantees a front Text layer, but a page’s Back Layers are never auto-created — an empty back array means “unauthored”, and it costs no bake.

Ink Page Display

UInkPageDisplayComponent, display name Ink Page Display — an Actor Component that draws one page of a document onto a mesh. Blueprintable and spawnable.

Properties

Category Inkwell → Page.

Events

Functions

Category Inkwell → Page.

Ink Page Stack

UInkPageStackComponent, display name Ink Page Stack — extends Ink Page Display, so every property, event and function above is available on it unchanged. It presents the document as a physical pile of sheets, one mesh per page, and overrides Refresh, Resolve Target Mesh and Apply Page Size to lay out the pile.

Additional properties

Category Inkwell → Stack.

Additional function

Procedural Paper is grayed out on a stack. A stack always spawns its own sheets, so the inherited fallback sheet would only duplicate them.

Ink Page (actor)

AInkPageActor, display name Ink Page — a placeable sheet of paper. Blueprintable: make a child Blueprint and implement the events below. Its functions forward to the display component it owns.

Properties

Functions

Category Inkwell → Page.

Implementable events

Override these in a Blueprint child of Ink Page.

Ink Page Reader

UInkPageReaderComponent, display name Ink Page Reader — put it on a pawn, character or controller to float a page up in front of the camera. This is the production presentation component your own interaction system drives: it contains no input handling at all, apart from the optional flip-key convenience binding below.

Properties

Category Inkwell → Reading.

Events

Functions

Ink Page Interactor

UInkPageInteractorComponent, display name Ink Page Interactor — the reference “look at a page, press a key, read it” implementation. It line-traces from the player’s view, raises a focus event for your prompt UI, and drives an Ink Page Reader found or created on the same actor.
Demo/reference only — not recommended for production. This component exists so the showroom plays out of the box and so you can read a complete working example of driving the reader. In your own project, skip it and call the Ink Page Reader’s functions from your existing interaction system — see Integration.

Properties

Category Inkwell → Interaction.

Event

Functions

Ink Page (UMG widget)

UInkPageWidget, display name Ink Page, palette category Inkwell — shows a page on screen instead of on a mesh. It builds the page with the same code the mesh bake uses, and scales it to fit its slot while keeping the authored aspect ratio.

Properties

All four are BlueprintReadOnly; change them with Set Document / Set Page Index.

Functions

The widget does not loop — Next Page on the last page returns false and does nothing — and it shows page fronts only. Looping and flipping are display-component and reader features.

Ink Page Render Library

UInkPageRenderLibrary — a Blueprint function library, so every node here is a free node with no target pin. Category Inkwell → Page Content. World Context Object pins are hidden and filled in for you; Side pins default to Front.

Ink Page Cache Subsystem

UInkPageCacheSubsystem — a World Subsystem holding baked ink render targets, keyed on document path + page index + side + content revision. It exists in Game and PIE worlds only; get it with Get World Subsystem and the Ink Page Cache Subsystem class.

Inkwell Settings accessors

UInkwellSettings, category Inkwell → Settings. Static pure nodes that load the configured asset, or return None plus a one-per-session warning naming the setting to fix. See Project Settings.

Demo classes

The showroom’s supporting cast is Blueprint-visible too, but exists only so the demo plays out of the box — demo/reference, not production, like the interactor. None of the production components know these classes exist, and deleting them breaks no page anywhere. See Examples for what each does in the showroom.

Structs

Every struct here is Blueprint-constructible: right-click → Make (struct), or split the pin.

Ink Page Spec

FInkPageSpec — one page. Used by Add Page, Set Page and Get Page.
A page you build yourself with an empty Layers array is normalized when you hand it to Add Page or Set Page: Inkwell guarantees the front has a Text layer, so a page built from Blueprint can always show markup. Back Layers are deliberately left alone.

Ink Page Layer

FInkPageLayer — one entry in a page’s stack. Exactly one payload is used, chosen by Type; the other two are ignored.

Ink Page Text

FInkPageText — the payload of a Text layer: an independent text box, so one page can hold a heading, a body and a signature on three layers with images stacked between them.

Ink Page Image

FInkPageImage — the payload of an Image layer. Positions and sizes are normalized 0–1 page coordinates.

Ink Drawing

FInkDrawing — the payload of a Drawing layer.

Ink Stroke

FInkStroke — a single continuous mark: one press, drag and release.

Ink Stroke Point

FInkStrokePoint — one sample along a stroke.

Ink Procedural Paper

FInkProceduralPaper — settings for paper Inkwell generates itself. The sheet is drawn procedurally — no image assets needed — unless Texture Base is on, in which case the ruling prints onto real stock. All the Px values are in page pixels.

Ink Paper Face

FInkPaperFace — the back’s own paper, when it differs from the front’s. Lives on the document as Back Paper.

Ink Page Face Mapping

FInkPageFaceMapping — where on a mesh’s face the page lands. Lives on the display component as Page Face. Every field defaults to “the whole 0–1 UV square”, which is what the bundled sheet — and any mesh unwrapped for Inkwell — needs.

Enums

Ink Layer Type

EInkLayerType — what a layer draws.

Ink Brush Type

EInkBrushType — the look of a stroke. Each brush is drawn procedurally; Inkwell ships no brush images.

Ink Paper Mode

EInkPaperMode — how a page’s paper is produced. See Rendering → the page material for what each mode does to the mesh.

Ink Back Paper Mode

EInkBackPaperMode — where the back of every sheet gets its paper.

Ink Page Side

EInkPageSide — which face of a sheet is meant.

Ink Page Turn Style

EInkPageTurnStyle — how an Ink Page Stack rearranges itself when the page changes.

Ink Page Face Fit

EInkPageFaceFit — how a Page Face mapping finds the page’s place in UV space.

Ink Paper Ruling

EInkPaperRuling — the ruling drawn across generated paper.

Next

Runtime documents

These nodes put to work: building and rewriting documents while the game runs.

Integration

Wiring the reader into an interaction system you already have.

Rendering pipeline

What the render library actually does with a page.

Layers

What the layer structs mean on the page.