What's New in Dalamud v13
Dalamud v13 is the current major version of Dalamud, and will release with Patch 7.3. This is a high-level overview of changes. You can see a code diff of all of these changes here.
Key Information
- Branch:
api13(view on GitHub) - Release Date: August 6, 2025
- API Level: 13
- .NET Version: .NET 9.0.3
If you haven't done so yet, we strongly recommend migrating your plugin project to Dalamud.NET.Sdk, especially if you are still using a targets file to reference the Dalamud SDK. We no longer plan to support the targets file in the next API level.
It includes the latest version of DalamudPackager, pinned to the current API level, and will make it easier for us to introduce changes to how we distribute SDK files in the future.
Major Changes
- Dalamud uses new bindings to the ImGui UI library, derived from
Hexa.NET.ImGui, to improve offered APIs and facilitate an ImGui upgrade in the
future.
- Namespace and assembly changes:
ImGuiNET→Dalamud.Bindings.ImGuiImPlotNET→Dalamud.Bindings.ImPlotImGuizmoNET→Dalamud.Bindings.ImGuizmo
- If you use Dalamud.NET.Sdk,
the new binding assemblies are now automatically referenced in your project.
If you don't, you will need to manually reference these three new assemblies
and remove the reference to
ImGuiNET. - ImGui internals are now accessible under the
Dalamud.Bindings.ImGui.ImGuiPclass.- Please note that these are still considered "unstable" and will require more work on your part to upgrade, once we upgrade ImGui.
IDalamudTextureWrap.ImGuiHandlewas renamed toHandle.- Several text functions are now unformatted by default.
ImGui.Textnow callsImGui.TextUnformattedinternally.ImGuiHelpers.SafeTextWrappedwas obsoleted, becauseImGui.TextWrappedis safe now.ImGuiHelpers.SafeTextColoredWrappedwas obsoleted, because a new custom functionImGui.TextColoredWrappedwas added.
- Utf8 Strings Literals are now supported (ImRaii included!).
- To get an
ImGuiListClipperPtrsimply callImGui.ImGuiListClipper();. - Capitalization of enum names is now in PascalCase, for example
ImGuiColorEditFlags.DisplayRGBis nowImGuiColorEditFlags.DisplayRgb. - Functions that had
outparameters now take those via pointer orref.
- Namespace and assembly changes:
- New ClientStructs-independent wrapper structs have been introduced for
AtkUnitBase, AgentInterface and UIModule. Due to time constraints these
currently only provide very basic (or in the case of UIModule no)
functionality. They have
IsNullandAddressproperties and are implicitly castable tonint. You're free to cast the Address field to another pointer type.
IGameNetwork
The service was removed, as opcodes change every patch, making maintenance arduous, and the packet data itself has proven itself to be very unreliable.
- Please hook functions that process the data instead - reach out on Discord if you are having issues with this, as doing this can be quite feature-specific.
IAddonLifecycle
AddonArgs.Addonis now of typeAtkUnitBasePtr.
IDalamudPluginInterface
AddChatLinkHandler, andRemoveChatLinkHandlerhave been moved to theIChatGuiservice.ActivePluginsChangedis now called when a plugin loaded (withPluginListInvalidationKind.Loaded) or unloaded (withPluginListInvalidationKind.Unloaded).- Please note that enabling or disabling collections will trigger individual events for each plugin.
IDtrBar
IReadOnlyDtrBarEntry.OnClicknow receives anAddonMouseEventDataparameter.AddonMouseEventDatacontains the following properties:IsLeftClick,IsRightClick,IsNoModifier,IsAltHeld,IsControlHeld,IsShiftHeld,IsDragging,IsScrollUp,IsScrollDown,Position.
IReadOnlyDtrBarEntry.TriggerClickActionhas been removed due to changes toOnClick.
IGameGui
GetUIModulenow returnsUIModulePtr.GetAddonByNamenow returnsAtkUnitBasePtr.GetAgentByIdand the twoFindAgentInterfacefunctions now returnAgentInterfacePtr.
IObjectTable
- New enumerables have been added:
PlayerObjects,CharacterManagerObjects,ClientObjects,EventObjects,StandObjectsandReactionEventObjects.
IUiBuilder
- New events have been added:
DefaultGlobalScaleChanged,DefaultFontChangedandDefaultStyleChanged. - New properties have been added:
FontDefaultSizePt,FontDefaultSizePx,FontDefault,FontIcon,FontMono.
Minor Changes
Dalamud.Game.Text.SeStringHandling.Payloads.ItemPayload.ItemKindwas moved out of the ItemPayload, to theDalamud.Utilitynamespace.ISeStringEvaluator: The service is no longer experimental and now supports the SheetSub payload.- A new payload was found in 7.3, which will be supported at a later time.
- Lumina: The
ExtractText()function on ReadOnlySeString and ReadOnlySeStringSpan does no longer need to be called. TheToString()function now returns text only (without soft hyphens!) and optionally provides formatting features (see Lumina PR #109 for more information). The macro string output has been moved to a newToMacroString()function.
Packages
We have released new packages of the SDK and DalamudPackager for this Dalamud API version.
- Dalamud.NET.Sdk v13.0.0
- To upgrade, change the header of your plugins'
.csprojfile:<Project Sdk="Dalamud.NET.Sdk/13.0.0">
- To upgrade, change the header of your plugins'
- DalamudPackager v13.0.0
- You don't need to reference DalamudPackager manually if you use Dalamud.NET.Sdk, it is done for you.
Contributors
We want to thank Marzent, Critical-Impact, Aireil, Haselnussbomber, KirisameVanilla, kizer, zbee, nathanctech, AlexValliere, voidstar0, Cytraen, Blooym, Jaksuhn, wolfcomp, ItsBexy, nebel, WorkingRobot and Infiziert90 for their contributions during this patch cycle.
FFXIVClientStructs Changes
FFXIVClientStructs will introduce their own breaking changes for Patch 7.3, which will be documented on their docs page.
We want to thank aers, Caraxi, Haselnussbomber, Pohky, WildWolf and the other FFXIVClientStructs contributors for their work.