v42.00 ecosystem updates bring Unreal MCP to UEFN, so you can connect agentic coding tools like Claude Code, Codex, or Cursor directly to the editor. Touch input gestures via the Virtual Pointer have exited Experimental—tap and drag are ready for live games, and a new Experimental Ability System gives you a framework for reusable gameplay abilities in Verse. Check out the Telekineticon physics item (in Experimental) and the Heatwave Harbor prefabs and galleries!
Unreal MCP is now available in UEFN
Unreal MCP, the Model Context Protocol (MCP) plugin that shipped with UE 5.8, is now available in Unreal Editor for Fortnite (UEFN).
UEFN embeds an MCP server inside the editor, so agentic coding tools such as Claude Code, Codex, or Cursor can work with you, lowering the technical friction and enabling you to build faster and iterate more. This includes providing capabilities for writing and compiling Verse, placing and configuring devices, creating Scene Graph entities, building UI with UMG, and running play sessions to test the results. Everything an agent makes is a real, editable part of your project, which means Verse files you can open, devices you can tune in the Details panel, and entities you can select in the outliner. MCP is an open standard, so any agentic coding tool that supports it can connect locally and help you develop your experiences in UEFN.
This release of Unreal MCP ships with toolsets built specifically for UEFN delivered through the same Toolset Registry that powers UEFN features as we unify development streams on the road to UE6.
Get the details on our blog. For full setup and configuration, see the UEFN MCP documentation.
Mobile Controls: Touch Input Gestures (via Virtual Pointer) out of Experimental
The Virtual Pointer, which lets players interact with on-screen elements in a way that works on all supported input devices, can now be integrated into live games. This unlocks more touch controls on mobile devices, including tap and drag. De-projection APIs have also exited Experimental, allowing developers to understand what they are touching in world space.
Pinch actions, used for functionalities like camera zoom and object scaling, remain in Experimental for now.
See the Virtual Pointer documentation for more information.
More tools to level up your island’s mobile experience
Level up your island's mobile experience with the other mobile tools that were released in 41.00:
Developer Customizable Touchscreen Controls: Build a touch layout as a UMG User Widget with Touch Control Layout Override widgets for each action (jump, shoot, reload, aim, crouch, sprint, and more), then assign it to a HUD Controller device to reposition, restyle, or hide individual buttons.
Tappable Custom HUD Widgets: A custom HUD widget can now act as a touchscreen button. Use it to drive logic from gem counters, reward notifications, inventory icons, and similar HUD elements. You can also repurpose default actions that your experience doesn't use.
Platform Controls Query: A new Verse API detects whether a player is on a touch-enabled device, and which controls are relevant for that platform, so you can route players to the appropriate experience for their platform.
And be sure to check out Designing for Mobile, our guide that includes principles and best practices for designing mobile games in Fortnite with UEFN.
Mobile Performance Optimization: Asset Health Tooling Improvements
On frequently crashing islands, a number of out-of-memory issues come from assets that don't follow memory guidelines - and this is particularly impactful on mobile. Asset checks in 42.00 cover more ground, including missing LODs and incorrect Min LOD for Quality settings, so risks surface as asset warnings while you build rather than after players hit them. Without LODs, low-spec devices load full-density geometry, and Min LOD for Quality is what enables them to drop to lower-detail LODs. Mesh imports also now apply mobile-friendly settings by default, meaning assets start closer to ship-ready. This also checks flag problems and points you at an optional quick fix.
Profiling Tools Improvements
We are introducing Timing Insights to UEFN, which breaks down what your island spends each frame as UE developers have grown to depend on. It's for developers who are chasing hitching or low framerate, and who currently have to disable systems one at a time to find the culprit. Now you can go straight to the expensive work. Timing Insights measures frame time, not memory, and profiles a live session.
Updated User Interfaces Feature Example
The UEFN feature example for User Interfaces has been updated to make it easier to find content across five main categories:
Verse UI
Scene Graph UI
UI built using devices
UI Art, and
Full-feature UI examples.
Additionally, several stations have been added to demonstrate new UEFN UI features. Check them out!
Ability System (Experimental)
A new Experimental code-native Ability System is now available. The Ability System is a framework for creating extensible and reusable gameplay abilities in Verse. Use it to create gameplay abilities that grant a player magic spells, superpowers, or other special capabilities.
You can create abilities in two ways — through structured templates or with the Verse API for deeper customization.
This is an early experimental release, and APIs may change as development continues. We're working toward exiting experimental status, so start building now so you're ready when it ships!
To learn more, see the Ability System documentation.
Fortnite Template Abilities (Experimental)
Fortnite Template Abilities give you a practical way to build and customize abilities by placing animations, audio, and gameplay effects at specific moments on a timeline. They provide a structured framework for creating and iterating on gameplay actions with configurable activation, targeting, timing, and execution.
To learn more, see the Fortnite Template Abilities documentation.
Verse Abilities API (Experimental)
Define, activate, and manage gameplay abilities entirely in Verse, giving you full control over activation conditions, targeting, and lifecycle. This is the right starting point for abilities that need custom logic beyond what template abilities can express.
To learn more, see the Verse Abilities API reference.
Verse Camera Modifiers (Experimental)
We’re exposing a set of common Camera Modifiers that compliment the experimental Camera API. The properties on these Modifiers resemble the devices that developers have access to today, but their properties can be managed at runtime in Verse. Each of these camera modifiers is crafted to feel responsive while being heavily parameterized, in support of high quality, curated gameplay.
Orbit Camera Modifier: A third-person boom-arm camera that follows and orbits a target entity. Use it for third-person character cameras or other setups where the camera should move with a target while maintaining an adjustable distance and height.
Fixed Angle Camera Modifier: Follows a target from a constant viewing angle. This is useful for isometric, top-down, side-on, and similar fixed-perspective camera setups.
Fixed Point Camera Modifier: A stationary camera that rotates in place to keep one or more target entities framed. This is useful for security cameras, spectator views, cinematic set pieces, and other cameras that remain at a fixed world position.
The camera API and these modifiers are still in Experimental, as the feature is in active development.
Introducing the Telekineticon, a Physics Manipulation Tool (Experimental)
We're adding a new Physics item, the Telekineticon, which enables developers to build games where players can pick up, drop, and move physical creative_props. To use it, you will need to have Physics and Itemization enabled.
Building on Verse and the new Itemization architecture, the Telekineticon is an item that can be configured when editing, allowing you to build gameplay from its functions and events.
We are releasing the Telekineticon as Experimental in v42.00, meaning that islands using the Telekineticon cannot be published.
For more information about this new tool, check out the Telekineticon documentation page.
YouTube Video Embeds in Community Posts
Embed a YouTube video in the main post body of your posts on Fortnite Communities. Videos will show in the full post on web, communities.epicgames.com only, and not in client.
Players will be able to click to view the YouTube video without leaving your post on Fortnite Communities.
Content Browser and Inventory Updates
Check out all the new devices and items available this release!
Device Updates and Fixes
Fixes:
Fixed issue where the Midas Flopper wouldn't always upgrade the following weapons to their legendary versions:
Tactical Shotgun
Infantry Rifle
Shockwave Launcher
Sweeper Shotgun
Pumpkin Launcher
Fixed an issue where transforming with the Prop-O-Matic and ending the transformation multiple times in quick succession could make the Prop-O-Matic stop working.
New Weapons
8-Bit Shotgun
Common through Legendary
Note that in Verse, the 8-Bit Shotgun name is spelled as "EightBit" instead of "8Bit".
Midas’ Masterpiece
Twin Siphon Shotguns
Pump Shotgun
New Epic and Legendary
Drum Gun
New Common and Uncommon
New Prefabs & Galleries
Heatwave Harbor Set
Heatwave Harbor Mucho Macho Hotel
Heatwave Harbor Sandy Buttes Hotel
Heatwave Harbor Side Kickin' It
Heatwave Harbor Wall Gallery
Heatwave Harbor Foundation Gallery
Heatwave Harbor Prop Gallery
New or Updated Documentation
UEFN Physics (Beta) is now enabled using the Island Settings device instead of the Project Settings.
Scene Graph Known Issues updated with the latest known issues.
Community Bug Fixes
The following fixes are from issues that you submitted to us on the forums. Thank you for your patience and for reporting these issues!
Fixed multiple clicking issues with the Outliner.
Fixed an issue where
FindCreativeObjectsWithTagfailed to retrieve anything.Fixed an issue where runtime world space widgets with agent messages crashed the Fortnite client.
Fixed an issue where Ballistic Recon Grenade did not outline players when scanned.
Fixed an issue where setting a Guard's team to "neutral" caused the guard to remain aggressive.
Fixed an issue where dropping an item entity broke its child entities transform.
Fixed an issue where
possessable_componentwas destroyed on player elimination and never re-attached to the respawned character entity.Fixed an issue where the category wouldn’t show for editable fields on objects nested inside of
creative_devices.
For a full list of all scheduled fixes for 42.00, see this search on the Epic Developer Community Forums.
Fortnite Ecosystem Updates and Fixes
Fixes:
Fixed black terrain appearing on the island minimap.
Fixed the
RootComponentcrash that happened while using the phone tool.Fixed a stutter due to rollbacks when a player would slide off a ledge on physics-enabled islands.
Fixed the epic Infantry Rifle and epic Tactical Shotgun not upgrading to their legendary versions with the Midas Flopper.
Fixed an issue where transforming with the Prop-O-Matic and ending the transformation multiple times in quick succession could make the Prop-O-Matic stop working.
Fixed an issue that would cause players to enter the Splat animation when Fall Damage was disabled.
Fixed being able to join a private match through the friend list Join Game button.
The HLT Fire and Look Stick no longer gets stuck firing after the player uses a revive kit.
Fixed a crash when dropping or adding some inventory items.
Fixed late joining a match in progress on a Creative island.
Fixed the Join button not being visible in the lobby.
Fixed settings categories being ignored if the settings screen was entered immediately after starting the game.
Performance
New:
Improved PSO precaching behavior for budget PCs in Performance mode, so it hitches less and replaces placeholders more quickly.
Reduced CPU overhead for keyboard inputs on Windows.
Fixes:
Fixed non-Nanite instanced meshes being drawn at a higher LOD than expected, improving GPU performance.
Fixed the saved Textures quality setting being ignored on a fresh boot.
UEFN Updates and Fixes
New:
Added an auto-fix option for conforming
StaticMeshassets with failing LOD validations.Added
StaticMeshasset validations:Now validates that complex static meshes have more than a single LOD.
Now validates that static meshes are
MinLODQualityset for Low and Medium quality.
Added a post-import action that ensures Minimum LOD for Quality is set to 2 for Low and 2 for Medium for imported static meshes to help ensure better performance on mobile and handheld devices.
Fixes:
Fixed Live Edit desyncing when grouping actors together.
Fixed Events and Functions not working on devices set up during a mini-game Live Edit session.
Fixed placing multiple objects unexpectedly triggering a Push Changes action in the Edit List.
Fixed the cook failure Message Log showing two duplicate "Platform Cook" pages instead of one.
Fixed a crash after a cabined account was blocked from opening UEFN by parental controls.
Editor
New:
Added an option to pick client exit behavior. The available choices now are: none (does nothing and stays in game), return to main menu, and exit/close.
Adjusted default values to
bKeepSessionOnProjectChange=trueandClientExitSessionBehavior=ReturnToMainMenu.Suppressed the warning dialog when switching projects in cases where it does not make any sense.
Added a Show Backface Edges toggle to the Mesh Edges submenu. When enabled, wireframe edges on backfaces are rendered in orange, behind front-facing blue edges.
The Toggle Auto Push Verse Changes command can now be bound to a key.
Teleport Players and Set Editor Viewport to Player can now be bound to a key.
Replaced the highlighting checkerboard pattern color used in viewport overlays with correct occlusion culling.
The StereoVideoIngest device in Live Link Hub derives component names from the filename stem, not the filename with extension.
Improved both the static and skeletal mesh UV visualization.
Tile range selection now shows which UVs are outside of the range.
Per-section slot UV isolation keeps UV triangles from overlapping.
Fixes:
Fixed Browse to Asset not working on static mesh actors.
Executing console commands remotely on a UEFN instance is now disallowed.
Fixed an issue where the Custom Inventory setting could appear checked while not being active. The scene now saves when the setting is toggled on or off.
Fixed the gizmo settings for AllowLists so all gizmo settings come through.
Made the scrubbing time gesture beat the gizmo in priority.
Fixed Content Browser folder deletion failing when a folder contained multiple assets in the same package when this was due to a mismatch between the asset count and the loaded objects.
Editor UI
New:
The F command now focuses the object in the viewport and scrolls to the selected item in the Outliner when the Outliner is focused.
Exposed the
ScrollBoxbar style in the UMG Details panel.Removed the automatic save-on-iteration notification.
Fixes:
Fixed dragged objects moving to the cursor when dragging an item over the viewport.
Fixed the Outliner folder and world context menus (Duplicate Folder Hierarchy and Select actions).
Fixed the Select All action for rows matching the search after pressing Enter.
Fixed pressing F2 to rename when an object is selected from the viewport.
Fixed Landscape and Modeling panel UI naming in LUF mode.
Environments and Landscapes
New:
Changed the landscape (legacy) foliage snapping setting.
Added a No Tool selection mode to the Landscape Editor.
Users can now toggle any editor tool to enter a selection/no-tool state so they can select and modify actors and components without leaving Landscape mode.
No-tool mode supports selecting any actor type in the Details panel Outliner.
Fixes:
Fixed landscape grass crashes that were due to partly unregistered components on landscape actors upon loading/unloading.
Landscape Layer Blend material expression: fixed an assert when the height input was connected to an incorrect node (for example, a missing material function).
Fixed an assert when loading a not-yet-deprecated landscape when landscape grass types were duplicated.
Fixed a crash when the Landscape Editor mode was exited after the application was shut down.
Fixed a landscape spline tangent manipulation that had regressed in 5.8.
Fixed various issues with the Landscape Layer Blend material expression. The old behavior can still be used via the
landscape.UseLegacyLayerBlendMaterialExpressionBehaviorCVar (requires a restart):Weight-blended and height-blended layers are now only normalized if their weight sum is above 1.
For the shading model: for a layer to be selected as the dominant layer, it now needs a weight that is both > 0.5 and greater than any other layer (in the case of a tie, the last one in the layer list is selected).
Regardless of legacy mode, this also fixes:
A regression where weight-blended layers would get normalized no matter what, while in the legacy behavior they were not (only height-blended layers were; weight-blended ones were assumed pre-normalized in the source data, which is not true in the case of non-weight-blended landscape target layers).
For the shading model, all types of layers (height/weight or alpha-blended) now have equal priority when it comes to solving a tie (the last one in the layer list is selected).
In the new material translator implementation, when no layer was present (for example, in preview mode, when no layer preview weight is set on any layer) and the shading model was output, it would be wrongly initialized to unlit instead of default lit.
Because this change bumps the shader DDC key (by way of the
landscape.UseLegacyLayerBlendMaterialExpressionBehaviorCVar), a patch size assessment was performed and showed a minimal impact (<35MB shaders on XSX/Win64/Android).
Fixed
FortWaterBodyExclusionVolumenot taking the exclusion mode into account, leading to gameplay not supporting the (default case) Remove Water Bodies List From Exclusion.Fixed a spurious map check error message when loading a landscape streaming proxy actor that didn't go through the target layers upgrade to get the visibility layer.
Fixed a potential infinite loop when deleting landscape components.
Fixed invalid landscape textures when using the Smooth or Flatten tools.
Fixed Nanite landscape not getting updated as it should after a component deletion.
Fixed the Smooth/Flatten/Noise tools losing their target layers in landscape paint mode.
Fixed the landscape Flatten tool with some landscape renderers that did not support the landscape merge's requested target type(s).
Exposed the Advanced > Bounds show flag to UEFN in the Show viewport menu to help users understand landscape grass exclusion areas around buildings.
Fixed the display of water and landscape collisions in UEFN.
Scene Graph
New:
The Outliner override icon now reflects only user-meaningful overrides, and an entity's icon aggregates its descendants (it lights when any child has a real override).
Recompute: icon state uses
FOverridableManager::GetOverriddenStatefor rooted and non-root entities, suppressing placement noise (root transform, added state).Propagation: a sync observer and flip-gated processors dirty ancestor entity rows via
FEntityOverrideAggregateDirtyTagso they reaggregate.Tooltip: hovering the icon now lists the overrides, mirroring the icon and the Details panel.
Updated
SubobjectEditortooltips for Scene Graph components to display the prefab source and remove irrelevant Mobility and Editor Only information.Added an option to maximize/restore the Entity Prefab Editor viewport.
Added a count status widget to the bottom of the Prefab Editor with the format X items: Y prefabs, Z entities (I selected).
Fixed a bug where the Prefab Editor Tag Show Tag Hierarchy selection does not persist between editor sessions.
Fixed the client not invoking UpdateTransform() when it received OnRep_LocalTransformInternal() and had an origin set.
Restored missing world context menu entries. Among other fixes, this brings back the Save Entities as External/Internal Files entries, allowing users to opt in or out of OFPE.
In-Game UI
Fixes:
Fixed an issue where Verse UI received no focus when displayed while an input-consuming menu was up on the screen.
Materials
Fixes:
Fixed a bug in the Material Editor where shader source code would not be generated for mobile platforms due to
TextureCubeArraySamplebeing gated on SM5 and above.Fixed an issue where a conditional expression would be translated by the material translator as a lerp instead of select, blend between two results instead of selecting one.
Fixed an occasional Material Editor crash when force-deleting a material together with related assets.
Verse Updates and Fixes
New:
Updated VE 2.0 to handle the uncooked editor.
Now shows source
.versefiles based around the CVarverse.ShowBuiltInSource.Configs set this to true for uncooked UEFN and VersePrototypes.
Deprecated
FTextInspector::GetSourceStringin favor ofGetSourceStringRef.GetSourceStringreturned a constFString*, but always took the address of anFString&. We almost always end up dereferencing it, and sometimes null check it, though it is never null.Added
GetSourceStringRef, which returns a constFString&, and updated usages.VerseLocalizationHelpernow gets a slightly larger fix to return the unlocalized string if localization fails, because this mitigates the error case and helps diagnose the bug rather than displaying an empty string.
Fixes:
Reduced the warning GetOrCreateAgentFromController: Can't get a verse::player before their unique net id is valid. to a Verbose log.
This line can spam during startup and fill up logs. There may be a more systemic fix later, but for now we are stopping the log spam.
Language
New:
Deprecated the
GetPassengers()function infort_vehicle. UseGetOccupants()instead.Removed the cross-module concrete/abstract restriction.
This means that concrete types can now inherit from an abstract base type in another module. A good example of when this is useful is with tags. The base type
tagis abstract and would previously prevent you from defining a concrete subtype with tag as base. However, now you can write code like this:
my_tag := class<concrete>(tag):and have the my_tag type be allowed in fields like this:
@editable
selected_tag_type:castable_concrete_subtype(tag) = my_tagFixes:
Improved the unknown-identifier error when the name resolves to a version-gated definition.
Tools
New:
The propagation source in
@deprecated/@discontinued/@experimentalnow shows warning text.When the marker came from an enclosing container (module, class, struct, interface, or enum) via propagation rather than living directly on the leaf reference, the analyzer now appends " (via enclosing
<kind>'<source>')" to the warning text so authors can see which enclosing definition actually carries the marker without having to inspect the leaf and guess.
Examples:
Before:
'(/Verse.org/A/MyClass:)Foo' is deprecated: Use NewClass.After (Foo not directly marked; @deprecated is on MyClass):
'(/Verse.org/A/MyClass:)Foo' (via enclosing class
'(/Verse.org/A:)MyClass') is deprecated: Use NewClass.Fixes:
Fixed Browse-to not working for the default
creative_prop_asset @editablein UEFN.
Lore (formerly URC) Updates and Fixes
New:
Added new functionality to archive/restore a branch to the Branch Explorer both optionally at the time of merge and retroactively.
Added an option to Lore’s revision control settings panel to disable automatic backups on each Save.
Updated the behavior of the revision control settings panel so that disabling revision control locally no longer changes the global setting for all collaborators on the project. In order to change the global provider, utilize the new option in the Project dropdown.
Added new filter options for
In ConflictandHas Merged Changesto the Outliner to ensure all major revision control states can be filtered for.The toast that informs the user that an asset cannot be edited because it is locked by another user or because it is not at latest now contains more information (asset name, user name).
Branch History now fetches additional revisions while scrolling down instead of the whole revision list at once.
Updated the legacy behavior to improve the asset duplication workflow by no longer triggering a save immediately upon duplication without user interaction.
Optimized data directory rebuilding (/.urc or /.lore) after deleting it locally by no longer requesting the whole revision list at once.
Lock status propagation to teammates was improved (lock status updated in place instead of querying server).
Added a Newly Added filter to the Scene Outliner Revision Control filter category.
Fixes:
Fixed the
Resolveoption that was missing for Verse conflicts in some instances.Fixed an issue causing
Focus on Actorfunctionality in the Branch History panel to sometimes require two clicks to focus on the next instance of that actor.Fixed the icon in the Branch History dialog not updating to
Check In Changesafter making changes.Fixed Verse files showing up with type UNKNOWN in SUBMIT FILES dialog.
Fixed an issue in the Lore VS Code plugin causing a memory leak that could result in a crash.