A visual tool for building and managing Fortnite in-island transactions in UEFN.
Download Installer • Portable ZIP • Community Discord • Latest release
UEFN Transaction Manager is a visual Windows app for building Fortnite in-island transactions in UEFN. Create entitlements, offers, bundles, storefronts, dynamic purchases, icons, and generated Verse from one project catalog. Use the app yourself, or let a compatible coding agent work with the same catalog.
- Build the transaction catalog visually instead of hand-editing Marketplace plumbing.
- Configure durable and consumable entitlements, alternate offers, prices, restrictions, disclosures, ownership limits, and gameplay-facing flags.
- Compose fixed bundles, fill-to-max bundles, runtime-quantity bundles, and storefronts.
- Use runtime prices and quantities calculated by your own Verse while UTM validates the final values and generates the integration surface.
- Import supported artwork or adopt existing UEFN
Texture2Dassets into the managed icon workflow. - Generate the managed Verse device, purchase helpers, ownership queries, grants, consumption helpers, and state notifications.
- Review local validation and advisory moderation guidance before compiling and testing in UEFN.
You do not need a coding agent to use UTM. The complete catalog editor, validation, icon tools, Verse generation, and UEFN compile workflow are available in the app.
If you connect a coding agent such as Codex, Claude Code, or Cursor, it can work with that same catalog through UTM MCP and with your UEFN project through UEFN MCP.
Connect your coding agent to UTM and UEFN MCP. It can manage your transaction catalog through UTM, inspect your project, update Verse and assets, and compile the result through UEFN MCP. Your project Verse keeps gameplay rules, rewards, eligibility, progression, and UI. UTM is an independent tool and is not endorsed by or affiliated with Epic Games. UEFN and Fortnite are products of Epic Games.
Already have Marketplace transactions in Verse? A coding agent can inspect the existing setup, recreate the catalog in UTM, reuse project icons, update your Verse to use the generated UTM helpers, and compile the result.
Your gameplay calculations and purchase consequences stay in your Verse. If ownership, offer meaning, bundle contents, or runtime behavior are unclear, the Agent Skill stops for review instead of guessing. See the existing-project adoption guidance for the full workflow.
Recommended: Download the Windows installer
The installer is a per-user Windows x64 application. It does not require administrator access, Node.js, Python, or a separate runtime installation. The Portable ZIP is a secondary option for testing or environments where you do not want an installed copy. Both links use stable latest-release aliases.
- Windows x64.
- UEFN installed for project connection and Verse compilation.
- The exact target
.uefnprojectopen in UEFN and Python Editor Scripting enabled for first-time managed setup or migration, compilation, and native asset changes. Initialized catalogs with already-confirmed assets can receive catalog-only saves while UEFN is closed. - An MCP-compatible coding agent only if you want to use Agent Integration.
- Open the UEFN project you want to work on.
- Download and run the installer.
- Select the open project, choose a recent project, or browse to its
.uefnprojectfile. - Confirm the project and create your first entitlement or offer.
Choose the project that should receive the catalog and generated Verse.
Start with an entitlement, then configure its primary offer. Add alternate offers when the same entitlement needs a different price, restriction, or presentation. Use bundles for grouped purchases and storefronts for the exact offers you want to present together.
Prices are entered as V-Bucks. UTM allocates the stable Verse identity used by generated helpers; changing a display name does not rename that integration surface. Trigger and Button bindings are explicit, so a purchase flow starts from a deliberate player interaction rather than automatic zone entry.
When you create a new offer, UTM walks you through General & Pricing, Icon & Texture, and Behavior & Moderation before Save Offer becomes available. Templates arrive prefilled, but still pass through the same review. Existing offers remain freeform to edit, so advanced creators can move directly to the section they need.
Some offers need values supplied by gameplay, such as a price calculated from progression or a bundle quantity calculated from current ownership. Mark the offer for runtime values, then pass the generated options type from your project Verse when opening the purchase. UTM validates the allowed range before the Marketplace interface opens.
Fill-to-max bundles calculate the remaining quantity from current ownership. Runtime-quantity bundles let your Verse supply positive quantities for configured entries. Runtime-configured bundles are direct purchases and are not added to storefront displays. The Generated Verse reference shows the generated option shapes.
For first-time setup or migration, confirm the exact project is open in UEFN and Python Editor Scripting is enabled before UTM writes the first managed catalog or generated Verse. To import artwork into the Content Browser:
- In UEFN, open the palm-tree Project menu.
- Choose Project Settings.
- Enable Python Editor Scripting.
- Keep this exact project open while UTM provisions its native placeholder and confirms the object path.
- Add or edit an icon and confirm the import.
Power-of-two PNGs are kept unchanged. Other supported raster images are normalized and scaled uniformly, with transparent padding only when needed to preserve proportions. New offers start with a built-in square placeholder Texture2D; UTM provisions and confirms it before generated Verse is saved. Replace it with a custom icon when your artwork is ready. The Icon tab can also adopt a verified UEFN Texture2D object path; do not enter a Windows filesystem path or edit .uasset files manually.
Bundles preserve configured order and quantities, including nested and dynamic behavior. Storefront membership is explicit, so you choose exactly which primary offers, alternate offers, and static bundles appear in All Offers or a storefront.
Agent Integration is optional. Connect your coding agent to UTM MCP and UEFN MCP when you want it to work with this catalog and your UEFN project.
- Enable UEFN MCP in the UEFN project using Epic's setup guide.
- In UTM, open Agent from the workspace header.
- Choose Copy MCP configuration. UTM supplies the local endpoint and server type.
- Install or use the packaged UTM Agent Skill using the client-specific destination shown in the guide.
- Connect a compatible coding agent to both UTM MCP and UEFN MCP, then verify both identify the same project before making changes.
The packaged Agent Skill teaches the safe workflow for catalog creation, revision-aware edits, UTM-managed Verse identities, icon adoption, generated integration review, existing-project migration, compilation, and semantic checks. MCP support and Agent Skill support are separate capabilities; a client that can connect to UTM MCP does not automatically discover the skill. Read the Agent Integration guide for client setup, same-project safety, and troubleshooting.
When the catalog is ready:
- Resolve validation errors and review warnings.
- Choose Save to persist the catalog and update
managed_transactions.verse. - Choose Compile while the target project is open in UEFN.
- Find the generated
managed_transactions_devicein the Content Browser and place it in your island. - Assign generated Trigger or Button arrays in the device details panel when you use those bindings.
- Reference the placed device from your own Verse and connect purchases to your gameplay systems.
The generated device is the supported integration surface. For an entitlement with the stable key access_pass, project Verse can use helpers shaped like these:
using { /Fortnite.com/Devices }
my_game_device := class(creative_device):
@editable
Transactions : managed_transactions_device = managed_transactions_device{}
BuyAccess(Player:player):void =
Transactions.OpenAccessPassPurchase(Player)
CheckAccess(Player:player)<suspends>:void =
OwnedCount := Transactions.GetAccessPassCount(Player)
# Apply your game's access rules using OwnedCount.
WatchAccess()<suspends>:void =
loop:
Grant := Transactions.AwaitAccessPassGrantedEvent()
HandleAccessGranted(Grant)Keep managed_transactions.verse manager-owned. Put rewards, eligibility, progression, saved state, and game-specific UI in your own Verse. See the Generated Verse reference for runtime options, ownership, events, grants, consumption, and device bindings.
Errors prevent invalid catalog data from being saved or compiled. Warnings are review aids and do not guarantee Marketplace approval. Transaction Manager's odds field is optional, but paid-random offers still need accurate numerical odds disclosed to players before purchase; if the field is empty, provide that disclosure elsewhere in your island and clearly direct players there.
A successful Verse compile proves that the generated code compiles. It does not prove that gameplay grants the intended reward, a purchase flow works in a live session, or an island will be approved. Test purchases, cancellations, refunds, consumption, saved state, and rejoin behavior in a real UEFN session before publishing.
When UEFN is closed, open the project linked to this Transaction Manager window manually in UEFN. UTM will reconnect automatically when the editor opens. Close duplicate UEFN sessions if more than one project is open.
Enable Python Editor Scripting in the project settings, then confirm UEFN and UTM target the same project. First-time setup and native import require the editor connection to remain available while the exact Texture2D object path is confirmed. If an initialized catalog references only existing confirmed assets, catalog-only edits can be saved while UEFN is closed.
Compile successfully, refresh the UEFN Content Browser, and confirm that you placed the generated device from the target project. Some generated device reference arrays may still require manual UEFN wiring when the current UEFN MCP representation cannot assign them reliably.
Confirm UEFN MCP is available and the agent was started from the project/workspace context expected by that client. UTM MCP starts with the project bridge. Compare both servers' project context before mutation. If UEFN MCP's refresh or session command is unavailable, save, run a full compile, and restart the editor session as described in the Agent Integration guide.
- Agent Integration guide for UTM MCP, UEFN MCP, the packaged skill, migration, and limits.
- Generated Verse reference for the current generated contract and common integration patterns.
- Epic's UEFN MCP documentation.
- Epic's In-Island Transactions documentation.
- Epic's Creating Items and Offers guide.
- Epic's In-Island Transactions restrictions.
- Contribution guide for developers working from source.
- Security policy for reporting a security issue.
Ask questions and share feedback in the ADEPT Community Discord, or open an issue in this repository with a reproducible problem.
The repository is source-available. Before submitting a contribution, read CONTRIBUTING.md and complete the required CLA acceptance process. Keep changes focused and include the relevant automated or live UEFN evidence.
Copyright © 2026 AD3PT Interactive Inc., operating as ADEPT Interactive and ADEPT.
This project uses the ADEPT Source-Available License. Viewing, private evaluation, and contribution through the official repository are permitted. The license does not permit unauthorized redistribution, derivative releases, repackaging, embedding, commercialization, or branding use.
UEFN and Fortnite are products of Epic Games. UEFN Transaction Manager is an independent community tool and is not endorsed by or affiliated with Epic Games.








