$9.99 PersonalRuntime + editorv1.1.0Live on Fab ↗

Crafting that plugs into the inventory you already use.

Recipes are data assets. Crafters queue jobs in batches, stations keep working while the player walks away, fuel burns, ingredients come from nearby chests, recipes are learned or discovered, and jobs survive save games. All server-authoritative and replicated, with editor checks that catch recipes players could exploit.

Engine
UE 5.0 – 5.8
Runs on
Windows · Mac · Linux · Android · iOS
Type
C++ runtime plugin with editor tools, source included
License
$9.99 Personal · $29.99 Professional

The plugin's example map and crafting menu in your browser: same items, recipes, stations and starting bag. Smelt ingots at the Forge (a lucky craft makes an extra one), make a Hammer and a Pickaxe at the Workbench and see which recipe that teaches you, then Salvage what you made or Track a recipe for the HUD.

Swipe sideways to see the whole map.

Any inventory

Five functions, and your inventory can craft.

Most crafting on Fab comes inside an inventory pack, and you have to adopt that inventory to get it. Craftwright talks to inventories through one small interface: use the built-in replicated inventory, implement the interface on your own in Blueprint or C++, or start from the Lyra adapter template.

Inventory adapters

Craftwright Inventory interface

Get Item Count (Item)How many of the item the inventory holds (used when ingredients are taken and for fuel).
Get ItemsEverything it holds that maps to Craftwright items. Every ingredient check and discovery use it, so it must list them all.
Remove Items (Item, Count)Remove up to Count, return how many were removed. Server only.
Add Items (Item, Count)Add up to Count, return how many were added. Server only.
Get Room For (Item)How many more fit.
In the game

A crafting menu for keyboard, mouse and gamepad.

Search, category tabs, locked recipes with how to unlock them, a salvage mode, key hints that follow the device, and a HUD tracker for pinned recipes that shows what is still missing. C++ base classes hold the logic; the example widgets are plain Widget Blueprints you restyle in the UMG designer, and every text is a property you can change and localize.

Keyboard and gamepadKey hints follow the deviceSearchCategory tabs with iconsLocked recipes: hide, show or ???Unlock hintsSalvage modeHUD trackerCommonUI template
The Forge crafting menu at night: Iron Ingot selected with a 15% chance of a lucky craft, two jobs in the queue, fuel burning, keyboard key hints
The Forge: search, category tabs, a 15 % chance of a lucky extra ingot, the queue and the fuel.
Features

Everything a crafting system needs, nothing you have to adopt.

Recipes as data assets

Specific items or any item with a tag ("any wood"), tools that are needed but not used up, several outputs with chances, failure with partial refunds, max batch, craft time, station types.

Queues and batches

Batches of N units, one job after another, cancel with refunds, an output tray for results that fit nowhere. Ingredients are taken when a job is queued, so they cannot be spent twice.

Stations with fuel

Workbench, forge, campfire: a type, a speed (optionally times the crafter's own speed), its own queue that keeps running when the player leaves, a range checked on the server, fuel, a power hook, linked chests and a pull radius.

Lucky crafts

A recipe can have a Bonus Chance of a lucky unit that makes extra items: its Bonus Outputs, or its outputs once more. The crafter's Crafting Luck multiplies it, or an attribute with the GAS module.

Salvage

Players take a salvageable item apart where it is made, for part of its ingredients (50 % by default, rounded down; tools are not given back) or for scrap you choose. Salvage has its own time, and the checks catch salvage loops that duplicate items.

Station speed

A station runs at its Get Station Speed (override it in Blueprint), times the crafter's own speed when Use Crafter Speed is on. The GAS station reads a speed attribute of the station actor: an upgraded forge, a buff.

Learned and discovered

Always known, learned from scrolls, trainers, quests or another recipe, or discovered the first time the crafter carries something for each ingredient. Limited uses for one-shot blueprints.

Multiplayer

Server-authoritative requests, fast-array replication (owner-only where it should be), smooth progress bars on clients without per-frame traffic. Tested with a dedicated server.

Save games and offline time

Plain structs for any save system. Time that passed while the game was closed is caught up on load, with an optional limit.

Example map

Three stations (two burn fuel), a shared ore chest, resource nodes, 16 items with icons and 10 recipes that show every feature.

Rules you extend, GAS if you want it

Conditions (skills, levels, quests) and effects (XP, stats, achievements) are objects you subclass in Blueprint or C++. The optional GAS module adds ability tags and attributes as conditions, attribute costs paid at craft start, Gameplay Effects and events after each craft, crafting speed and luck from attributes, and station speed from the station's own attribute.

Editor tools

Find the recipe players would exploit, before they do.

A panel with every recipe, item and finding. The checks follow recipes from item to item and report chains that give back more than they take, like smelting 2 ore into an ingot and scrapping the ingot into 3 ore; salvage and lucky crafts count too. The same checks run in Data Validation, on the build server and from Python.

2 × Iron OreForge →1 × Iron IngotScrap →3 × Iron Ore Duplication loop: × 1.5 every round. Error.
ta Craftwright editor panel: summary tiles with lucky, salvageable and locked recipes, filter chips, every recipe with its category, stations, time, ingredients and outputs, and the details of Iron Ingot
CheckWhat it findsSeverity
Duplication loopA chain of recipes that gives back more than it takes (Ore → Ingot → 2 Ore): players could make endless items. Salvage and the expected share of lucky crafts count.Error
Salvage gives back moreCraft one, salvage it, and get more of an ingredient back than it took.Error
No outputs, empty output, empty ingredientRecipes that cannot work as data, bonus and salvage outputs included.Error
Discovered recipe without ingredientsA recipe that can never be discovered.Error
Unknown tag, 0% output, uses up nothing, 100% failure, salvage gives nothingRecipes that work, but surely not as meant.Warning
Not in a recipe book, empty book or entry, empty condition or effectContent nobody can reach.Warning
Loop without gain, learned recipe nothing teaches, no unlock hint, item without iconSmelting and dismantling loops, and details worth a look.Suggestion

Every check in the docs

Live sample

A recipe report for the whole team.

The real HTML report Craftwright exported from its showcase project, with a few recipes broken on purpose. Filter it, and switch your system to dark mode.

Saved/Craftwright/Reports/Craftwright.htmlOpen in a new tab
Spreadsheets and CI

Balance in a spreadsheet, check on every build.

Export recipes to CSV or JSON, rebalance them in a sheet and import them back: you see every recipe it creates or changes before anything is saved, and columns you leave out keep their values. The commandlet fails a build on recipe errors.

Import and export
recipes.csv
Recipe,CraftTime,Ingredients,Outputs
Recipe_Planks,2,1 #Item.Material.Wood,3 Plank
Recipe_Nails,1.5,1 IronIngot; 1 Hammer (tool),8 Nails
Recipe_Salvage,4,1 Sword,2 IronIngot; 1 Stick @50%
Get Craftwright

$9.99 Personal. $29.99 Professional.

Sold on Fab under the Fab Standard License. Both licenses get the same plugin: every feature and the full C++ source, for Unreal Engine 5.0 – 5.8.

Craftwright is available on Fab now.

Personal$9.99

For individuals and companies with up to $100,000 in gross revenue in the last 12 months.

Professional$29.99

For companies with more than $100,000 in gross revenue in the last 12 months.

Get Craftwright on Fab

Need several seats or a studio agreement? Contact us.

FAQ

Questions, answered.

Still curious? Read the full FAQ or contact us.

How much does Craftwright cost?

The Fab Personal license is $9.99: individuals and companies with up to $100,000 in gross revenue in the last 12 months. Above that, the Professional license is $29.99. Both get the same plugin with every module, the example content and the full C++ source.

Do I have to use your inventory?

No. Craftwright works with any inventory that implements its five-function interface, in Blueprint or C++. The built-in inventory is there for projects without one, for station fuel and chests, and for the example map.

Does it work in multiplayer?

Yes. Requests go from the player's crafter to the server and are checked there: recipe known, station, range, conditions, queue space, ingredients. Jobs, trays, known recipes and inventories replicate. It was tested with a dedicated server and a client.

Can I use it from Blueprint only?

Yes. Crafting, stations, conditions, effects, save data and the UI base classes are all Blueprint-ready, and inventory adapters can be written in Blueprint too.

Does the menu work with a gamepad?

Yes. The menu takes focus when it opens: the D-pad moves through the recipes and changes the amount, A crafts, B closes, the shoulder buttons switch category tabs, X tracks a recipe. Every key can be changed, key hints follow the device in use, and your own input (Enhanced Input, CommonUI) can drive the menu through one function.

Do I need the Gameplay Ability System?

No. The GAS module is optional. It adds GAS-based conditions, costs and effects, crafting speed and luck from attributes, and station speed from the station's own attribute.

Does it work with Lyra?

An adapter template for the Lyra inventory ships as source to copy into a Lyra project. It is written against the Lyra 5.6 inventory API, so check it against your Lyra version.

Are queued jobs saved?

Yes, with their progress, and time that passed while the game was closed can be caught up on load, with an optional limit.

Can players take items apart again?

Yes. Mark a recipe as salvageable and players can salvage its item where it is made, by hand or at its station, for part of the ingredients or for scrap items you choose. The editor checks that salvaging never gives back more than crafting used.

Which platforms does it run on?

The runtime modules run on Windows, Mac, Linux, Android and iOS; the editor tools in the Windows, Mac and Linux editor. Unreal Engine 5.0 to 5.8.