Skip to content

Original menu presentation — 2026-10-06 ​

UE5.6.1 CL44394996, Win64 DX11. Game Master's visual design remains exclusive to that game. This change reflows AshenForge's independently authored WBP_AshenMainMenu and WBP_AshenPause; no reference tree, source, artwork, style or animation was copied. Inventory stays excluded. The core plugin is unchanged from the independently built ProgressAnimation revision.

Implementation and observed repair ​

The old menu placed the entire identity, introduction and action column in one scrolling card. Actual enlarged runtime review showed the publisher clipped and only Begin visible. The new ordinary Designer tree keeps the publisher and bounded decorative title above an independent introduction region and Fill-sized action Scroll Box. Main bounds500×480; Pause460×420; padding24. Public IFText/IFSurface/custom IFButton widgets and existing Initial Focus, identity, async settings, adapter action, Back and confirmation graphs are retained. Exact Designer properties and public nodes are in menus/HUD and responsive layouts.

ForgeExampleAuthoring.RefineOriginalMenuPresentation recognizes only the previous own six-child sample tree or its own upgrade marker; replacement roots/unknown trees are preserved. Tools/refine_original_menus.py guards ForgeExamples.uproject. The full own authoring pipeline includes the new method. Original raw menu assets are preserved in AssetSnapshots/Before-MenuPresentation. No reference repository was written.

Initial MenuPresentation-Source normal runs passed, but both enlarged runs detected Pause ExitChoice extending to254.4 in a240-unit action region. The screenshot confirmed partial clipping. Raising the own pause card from400 to420 and removing the trailing button gap makes the same complete action fit inside260 units, with no unnecessary scrollbar. The failure logs are retained; engine exit0 did not count as success. The runner now waits for and verifies every launched flow before reporting aggregate failure.

Build-Example-UE56-MenuPresentation, MenuGeometry, MenuReady and MenuNavigation logs record successful incremental Editor builds8.38/5.41/5.97/3.82s. Create-OriginalMenus-Blueprint-UE56 records both original asset upgrades; Create-OriginalMenusReady-Blueprint-UE56 records the clipping repair. Compile-MenuReady-AllBlueprints-UE56 loads/compiles exactly27 distinct owned Blueprint paths with0 errors,0 warnings and0 failed loads. Subsequent edits add QA navigation only; no further runtime/product asset changes.

Actual source and packaged interaction ​

All four MenuPresentation-NavigationSource-{RTS,RPG}-{Normal,Enlarged}-UE56.log and all four exact MenuPresentation-Cooked-{RTS,RPG}-{Normal,Enlarged}-UE56.log pass the current verifier. Measured viewports1280×720 with default UI/text and800×600 with150% UI/text. RenderOffscreen processes use actual Slate/RHI/CommonUI, synthetic keyboard events, programmatic initial focus and slider/lifetime setup. Desktop input was not taken.

The fixture exercises saved menu Settings → actual setting preview → Cancel rollback → Begin → replaceable loading → cancellation → failure/retry → real HUD → Pause → Resume → return dialog → cancel → confirmed return. It also retains the async loading scope/root/reentrant/paused/fallback/modal checks. Current menu geometry assertions measure publisher/title, all3 main and4 pause buttons, nested labels and introduction against their actual owning regions. Main is checked again after return at the requested scale, not just before preference enlargement.

After recreating the root and closing a loaded modal, synthetic Down moves Begin→Settings→Quit and Up returns to Settings without programmatically changing each destination focus. Main Back opens a focused modal while retaining the menu; Cancel restores the prior Settings focus. The final modal uses the recreated root's default native IFDialog fallback. Earlier return confirmation uses the saved sample flow. Capture requests now use the unique IFLoadingCaptureSet prefix; Pause and modal captures have a separate hold before input changes.

Tools/verify_loading_review.py requires actual engine/version/viewport/genre/scale, every current geometry/navigation/loading assertion and one complete PASS, and rejects errors/ensures/Accessed None. MenuPresentation-VerificationSummary.json records8 accepted current runs,27 compiled Blueprint paths, boundaries and reference preservation. Its negative control rejects the preserved exit0 enlarged clipping failure. Earlier ReadySource results cover the repaired layout before the extra arrow/modal assertions; they are not substituted for the current navigation proof.

Fresh Packages/OriginalMenuPresentationSlice contains both maps, built/cooked/staged/archived in20.82s; cook command7.96s,485 saved packages/478 cooked IoStore packages,0 cook errors/warnings. Package-OriginalMenuPresentation-UE56.log records success. Exact UAT Log.txt is archived as AutomationToolLog.txt beside FinalCopyWin64_UFSFiles.txt. Testing uses the archive's inner Windows/ForgeExamples/Binaries/Win64/ForgeExamples.exe.

Commands:

powershell
& Tools/run_loading_reviews.ps1 -Prefix MenuPresentation-NavigationSource
& Tools/run_loading_reviews.ps1 -Prefix MenuPresentation-Cooked -PackagedExecutable '<workspace>/Evidence/Packages/OriginalMenuPresentationSlice/Windows/ForgeExamples/Binaries/Win64/ForgeExamples.exe'
python Tools/check_distribution_boundary.py --staging-manifest Evidence/Packages/OriginalMenuPresentationSlice/FinalCopyWin64_UFSFiles.txt
python Tools/verify_reference_preservation.py

Authoring: installed UnrealEditor-Cmd.exe <canonical ForgeExamples.uproject> -run=pythonscript -script=<workspace>/Tools/refine_original_menus.py -unattended -NullRHI -nosplash -ddc=InstalledNoZenLocalFallback -abslog=<unique Evidence log>. Compilation uses -run=CompileAllBlueprints with the entire -AllowListFile=Saved/BlueprintChecks/CustomizationAllowList.txt argument quoted. Packaging uses installed UE5.6 RunUAT BuildCookRun -project=<canonical project> -noP4 -platform=Win64 -clientconfig=Development -build -cook -stage -pak -archive -archivedirectory=<fresh archive> -map=/Game/Maps/ForgeOutpost+/Game/Maps/ForgePilgrimage -ubtargs=-NoHotReloadFromIDE -ddc=InstalledNoZenLocalFallback -utf8output.

Visual review, preservation and remaining gates ​

Current source RPG main/pause and RTS Back modal, plus exact cooked normal RTS main/enlarged RPG main/enlarged RTS pause images were inspected. All tested labels/actions are visible; publisher/title are clear; menus retain their different theme and identity using one tree. Six reviewed captures are preserved as Visual/Menu-{Source,Cooked}-*.png. The primitive scenes, generic expedition wording in the shared RPG menu, broader HUD composition, full choreography and overall art direction remain development work. This is a meaningful usability repair, not final visual polish or release completion.

MenuPresentation-Boundary.json passes137 authored source files,45 own packages and2647 exact staging targets against5546 reference hashes. MenuPresentation-ReferencePreservation.json verifies reference HEAD/status/changed-file hashes and all5546 UI packages unchanged. Hash/membership checks do not certify visual originality or licensing; the original-design policy remains independently mandatory. No commit/publication or external distribution.

No core change required repeating the three-engine strict core builds. This new menu revision is tested only on5.6; previous5.7/5.8 sample copies/archives predate it. Physical controller/touch/native mouse-keyboard switching, glyph/remap/disconnection/drift/jitter/audio, long localized strings/safe areas/split-screen/minimum touch targets, true world-pause UMG timing, additional entry classes/tree/tile,10k entity/performance/optional Mass and full-feature newer-engine acceptance remain open. Last hardware evidence remains the17:23:33.667UTC XInput1.4 probe with four disconnected slots; non-XInput/touch were not enumerated. All newly launched runs exit and cancel preference previews; unrelated native/reference/desktop sessions stay untouched. Goal ACTIVE.

UIForge v0.1.0 · Blueprint and C++ development documentation.

Enlarged documentation image

Enlarged documentation image