CraftFlow v2.0.0 - UE4SS Package Fix
What's new
CraftFlow v2.0.0
Since v1.0.0
CraftFlow expands from Fabricator-only prerequisite crafting into one-click, mixed Fabricator and Processor chain orchestration. Selecting a supported target can now plot the dependency chain, load Processor jobs, leave the player in normal gameplay while processing runs, return to the Fabricator, and finish the remaining recipes in order.
The latest full-chain live-verified example is Rebreather: CraftFlow loaded two identical Strong Acid Processor jobs sequentially, observed both outputs, returned to the Fabricator, submitted seven Fabricator crafts, completed Rebreather, and closed the final menu.
When a selected recipe cannot be completed, CraftFlow identifies the first truly unresolved ingredient and requests a vanilla recipe pin. If that ingredient's containing recipe is not present on the current Fabricator screen, CraftFlow pins the exact selected target instead so the vanilla tracker exposes the missing dependency without using a stale or borrowed UI binding.
Added
- Supported Processor prerequisite detection and queue execution.
- CraftFlowBridge coordination for guarded Processor open, recipe selection, load, menu close, and Fabricator return operations.
- Sequential loading of multiple identical Processor jobs for the same recipe.
- Background Processor output polling, so normal gameplay remains available while processing runs.
- Automatic return to the Fabricator after the required Processor outputs are observed.
- Mixed-station dependency chains that resume Fabricator work after Processor steps.
- Dynamic insertion of missing craftable prerequisites discovered while a queue is running.
- Per-submit output accounting for recipes that require multiple identical Fabricator crafts.
- One-shot output-count recovery when a successful vanilla Fabricator submission does not emit the expected completion callback.
- Current-screen recipe category and list recovery for recipes that are not initially materialized on screen.
- Automatic Fabricator reopen and queue resume after a manual menu close.
- Player-menu-aware queue deferral and a bounded recovery grace period before Fabricator reopening.
- A persistent game-thread heartbeat for delayed queue, menu, and Processor work.
- Automatic Fabricator close after the entire queue completes.
- Automatic failed-ingredient pinning for queues blocked by an unsupported, unreadable, raw, unmapped, self-dependent, or otherwise unresolved requirement.
- Release diagnostics for binding cache hits, targeted-field hits, visibility checks, category hints, scan timing, queue state, and Processor output state.
- CraftFlowBridge log rotation at 512 KiB.
Changed
- Supported Processor-made prerequisites are automated instead of hard-blocking a queue.
- A direct recipe click can start a queue without requiring a prior hover.
- CraftFlow closes the Processor menu immediately after loading jobs instead of leaving it open while processing.
- Processor waiting does not hold a Fabricator or Processor menu over gameplay.
- Menu transitions use guarded, foreground-only input and current-screen ownership checks.
- Fabricator submission recovery invalidates stale screen, button, wrapper, and view-model references across menu and Processor transitions.
- Off-screen recipe lookup uses cached exact bindings, learned reflected fields, category hints, bounded list scrolling, and early exact-match exits.
- Blocked recipe handling reports and pins the impossible ingredient through the game's vanilla recipe-pin path.
- Routine registration and high-volume success logging are debug-only; failures and operational summaries remain visible.
- Detailed status and hover-context diagnostics are disabled by default in release configuration.
Fixed
- Duplicate Processor jobs now load and complete sequentially.
- Queue completion accounts for one queue step requiring multiple individual Fabricator submissions.
- Successful Fabricator crafts are no longer reported as timeouts when completion events are missing.
- Processor output detection reads the Processor's actual output inventory.
- Fabricator recovery does not reuse stale UI references after a Processor or player-menu transition.
- Queues no longer stall when a target recipe is outside the currently instantiated Fabricator list.
- Category, scroll, and binding state are cleared when the active Fabricator screen is closed or replaced.
- Processor callback failures do not leave open/load operations permanently marked in flight.
- Station transitions do not stack hidden or overlapping Processor and Fabricator menus.
- Queue completion closes the final Fabricator menu.
- Failed recipe clicks pin a required ingredient instead of only writing an external status message.
- High-latency reflected Fabricator scans that caused severe game hitching were reduced.
Performance and logging
The full Rebreather-chain benchmark reduced total reflected scan time from 47,358 ms in the 0.1.53 baseline to 4,206 ms in the optimized 0.1.55 baseline: 91.1% lower. Maximum scan time fell from 4,093 ms to 470 ms, and average scan time fell from 2,631.0 ms to 280.4 ms. The current 0.1.56 failure-pin change adds one bounded request to the existing heartbeat, with no polling loop or broad reflected scan.
Release defaults are EnableVerboseLogging=false, EnableDetailedStatusFile=false, and EnableBridgeHoverContextFile=false. Messages are capped at 768 characters. Routine hook-registration successes and high-frequency details are suppressed outside debug mode, while failures, queue summaries, menu transitions, and Processor outcomes remain available for support.
Safety and verification
CraftFlow continues to route supported Fabricator submissions through the game's vanilla recipe-click path. It does not directly spawn crafted items, directly mutate inventory contents, directly remove ingredients, or enable the unsafe low-level craft backend. Processor and menu operations are bounded by current-screen, exact-recipe, foreground-window, and queue-state checks; unsupported or mismatched states fail closed.
- Live Rebreather Fabricator and Processor chain passed, including two identical Strong Acid Processor jobs.
- Manual Fabricator close and autonomous reopen/resume passed in the current feature line.
- Lua parse validation passed for all source, release, and deployed Lua/config files.
- Lua regression tests passed: 17/17.
- PowerShell and native-boundary tests passed: 10/10.
- A live blocked Basic Fins test resolved the missing Rubber step to 2x DA_LuciferRotsac_ItemType and issued the guarded vanilla pin action.
Package layout
The corrected archive contains no wrapper directory and exactly these required entries:
- CraftFlow/enabled.txt
- CraftFlow/Scripts/main.lua
- CraftFlow/Scripts/config.lua
- CraftFlowBridge/enabled.txt
- CraftFlowBridge/dlls/main.dll
Both enabled.txt files are required UE4SS mod-root markers. The archive uses standard forward-slash ZIP paths.
Remaining limitations
- Vehicle storage counting and pulling are not included.
- Multiplayer client support is not guaranteed.
- There is no visible in-game recipe-tree planning interface or finished in-game queue widget.
- Processor automation is limited to supported recipes and the currently validated Processor UI path.
- If the impossible ingredient's containing recipe is not materialized on the current Fabricator screen, CraftFlow pins the selected target and relies on the vanilla tracker to expose that ingredient. 1
This mod has no additional files

