Appearance
InterfaceForge feature matrix
This focused release supplies reusable UI foundations and real Outpost RTS/Emberwatch RPG interfaces through public Blueprint features. Costs S/M/L describe relative implementation effort. The acceptance record links exact revision-scoped proof; builds alone do not establish usability. Historical milestone records remain preserved separately.
Game Master's visual design stays exclusive. Sakura's requested center-origin cooldown is independently reproduced from recorded behavior. Inventory mechanics are excluded. CommonUI/CommonInput/EnhancedInput remain the engine foundations; InterfaceForge adds per-player presentation, lifecycle and convenient Blueprint contracts.
| Feature | Decision / developer problem solved | Dependencies / cost | Included example and verification |
|---|---|---|---|
| Screens, layers and dialogs | Extend CommonUI activatable stacks; remove game-specific controller casts and the single global layout | CommonUI / L | Main → settings → HUD → pause → return; modal replies, Back, loading and focus restoration. Per-player ownership is implemented; split-screen runtime is unverified. |
| Input presentation | Centralize meaningful device intent instead of repeating handlers in each screen | CommonInput + Slate / L | Saved menus, HUD, popup and custom screen share pointer/keyboard/gamepad/touch presentation. Software drift/jitter/repeats/warp/disconnect/resume tests and actual Slate touch activation pass. Physical controller is user-deferred. |
| Prompts and remapping | Query applied EnhancedInput mappings and use CommonUI action rows, with configurable glyphs and readable fallback | EnhancedInput + CommonInput / M | Actual keyboard/controller stage, Cancel, Apply and live prompt updates; custom Blueprint prompt body, modal and focus checks. No third-party glyph pack. |
| Blueprint screens and entries | Hooks/interfaces handle initialization, observable refresh, selection, recycling and release without one C++ subclass per variation | UMG / L | Saved Watchpost screen, entry and entirely Blueprint source; theme/widget/source replacement. None-data cleanup, repeated release and stale-model isolation are tested. Recipes. |
| Lists and tiles | Keep UMG virtualization and pooled entries; separate data objects from realized views | ListView/TileView / M | Playable journal and field cards, search/selection/model changes;1,000/10,000-model tests retain a bounded realized widget pool. Whole-scene timings are not entity-simulation benchmarks. |
| HUD composition | Bind game-owned models/actions through a project-neutral interface | IFDataSource/IFPresentationData / L | Outpost selection/multi-selection, commands, resources, production and cleanup; Emberwatch party, status, interaction, quest and action recovery. Small example gameplay providers stay outside the plugin. |
| Themes and local overrides | Share semantic typography/color/spacing/state/sound tokens; retain per-widget overrides | UMG/Slate + theme assets / M | Live theme changes reach screens, entries, pooled lists and world views. Scroll components and the list-theme node use the same tokens. Custom root and widget classes remain replaceable. |
| Feedback and transitions | Combine engine stack transitions with ordinary editable UMG timelines; honor Reduced Motion | CommonUI/UMG + audio routing / M | Two saved concurrent animations work while actual world time is paused; activation, Back, reopen, live Reduced Motion and cleanup are tested. Arbitrary custom exit choreography is an extension point. |
| Contextual descriptions | Share IFEntry bodies between pointer MenuAnchor popups and a reserved navigation-hint lane | UMG + local-player tooltip service / M | Actual pointer → keyboard return, live source refresh, delay during pause, modal/class/release/rebind checks. Hints yield to action results without covering focused cooldowns. |
| Result notifications | Bounded passive queue with weak scopes, coalescing and explicit lifecycle | Local-player subsystem / M | Patrol/Ward/quest results; FIFO, overflow, GUID, custom host/body, modal reading-time suspension and cleanup. Full quest route caught and corrected enlarged ribbon/context overlap. |
| Loading states | Retain StreamableManager soft-class loading; expose replaceable body, failure/retry and cancellation | Engine async loading / M | Settings/Begin requests, competing requests, fallback and scope/root cleanup; omitted-cook failure was reproduced and repaired. Map travel uses Remove Root → Open Level; MoviePlayer startup loading is outside this release. |
| UI settings | Draft/preview, Apply/Cancel/defaults, validation and persistence reuse engine systems | SaveGame + EnhancedInputUserSettings / L | Saved scale/audio/remap/language controls; real save failure/retry and process reload. Independent mixer waveform analysis verifies gain/mute/rollback. Graphics remain GameUserSettings-owned; not a separate graphics backend. |
| Responsive/accessibility | Keep engine DPI separate from player scale; support safe areas, text scale, scrolling and reduced motion | SafeZone + UMG / M | Normal/enlarged, ultrawide,4:3 and portrait-sized Win64 flows; long labels and essential-control bounds checked. Physical device safe areas/mobile are unverified. |
| Localization | Keep FText and engine culture nodes; provide original en/tr resources and transactional controls | Unreal localization / M | 271-entry resources, culture preview/Cancel/Apply/defaults and packaged restart. UE5.6 Turkish editor startup has an engine-reproduced limitation. CJK/RTL/font coverage beyond the supplied languages is unverified. |
| Sakura cooldown | Preserve actual center-origin angular tint, layering and timing over original icons | Independently authored material/widget / M | Original widget/material runtime tracing and comparison; real Ward/Kindle recovery, countdown, pause and refresh. Parameters and controls; no reference asset redistribution. |
| Generic progress | One configurable visual contract instead of ability-specific subclasses | Original Slate presentation / M | Five public styles, direction/origin/size and charge normalization; saved Blueprint customization, clock/pause/release/theme tests. Progress recipe. |
| World-space UI | Keep WidgetComponent and caller-owned connection geometry; bind weak actors through public entry contracts | Engine WidgetComponent + IFWorldEntryLibrary / M | Actual rendered endpoints, model/theme refresh, invalid/tree/range/pause/clear/anchor lifetime tests. Planar example connections; occlusion and large actor populations are not certified. |
| Optional MassForge | Isolate actual entity APIs in a separate adapter plugin | InterfaceForgeMass + separately installed MassForge0.2 / M | Current M4 real entity lifetime/serial/coalescing and eight source/cooked Blueprint cases on UE5.8.3. Equivalent standalone provider; core/default sample load without SDK. No SDK distribution or multiplayer claim. |
| Local documentation | Maintain the user-requested AshenForge style with Docs as the authored source | VitePress/Mermaid / M | 40guides,29rendered workflows, search, dark/light and responsive navigation. Strict generated link/image checks; stale generated Markdown removed. Local only. |
The latest one-asset RPG layout correction passes twelve source/exact Development quest cases acrossUE5.6.1,5.7.4 and5.8.3. Final launch/layout checks add default-selection Shipping and packaged bootstrap proof. IF7 pins source/Shipping delivery and reviewed frames; documentation-only snapshots inherit its identical runtime. The unchanged64-file core is independently built/loaded on all three engines. Compatibility distinguishes core, sample, package and device evidence; acceptance states the completed included workflows and unverified boundaries.
Deliberate boundaries: inventory, equipment rules, crafting/trading and inventory replication are separate products. Hierarchical Tree authoring remains an engine extension, not an included complete example. Split-screen, multiplayer, non-Windows SDK/device certification and arbitrary localization are unverified. These limits do not hide pending implementation in the included menu/HUD workflows; the acceptance record tracks their actual completion.