* Avoid re-creating title version string every frame * Marked title version string that it has been changed by Dalamud by appending a newline payload with a string expression embedded within, which the game will ignore (effectively `<br(!Dalamud!)>`.) * Added `PluginManager.LoadedPluginCount` which will count the number of loaded plugin without making a copy of the plugin list. * Made TitleScreenMenuWindow.OnVersionStringDraw` update the title version text addon only if number of loaded plugin changes or the text is missing the custom suffix from the first point. * Use OriginalTextPointer to determine if SetText(ROS) has been called |
||
|---|---|---|
| .github | ||
| .nuke | ||
| build | ||
| Dalamud | ||
| Dalamud.Boot | ||
| Dalamud.Common | ||
| Dalamud.CorePlugin | ||
| Dalamud.Injector | ||
| Dalamud.Injector.Boot | ||
| Dalamud.Test | ||
| DalamudCrashHandler | ||
| docs | ||
| lib | ||
| targets | ||
| tools | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| build.cmd | ||
| build.ps1 | ||
| build.sh | ||
| CreateHashList.ps1 | ||
| Dalamud.sln | ||
| Dalamud.sln.DotSettings | ||
| Directory.Build.props | ||
| docfx.json | ||
| filterConfig.yml | ||
| global.json | ||
| index.md | ||
| LICENSE | ||
| README.md | ||
| sign.ps1 | ||
| stylecop.json | ||
Dalamud

Dalamud is a plugin development framework for FINAL FANTASY XIV that provides access to game data and native interoperability with the game itself to add functionality and quality-of-life.
It is meant to be used in conjunction with FFXIVQuickLauncher, which manages and launches Dalamud for you. It is generally not recommended for users to try to run Dalamud manually as there are multiple dependencies and assumed folder paths.
Hold Up!
If you are just trying to use Dalamud, you don't need to do anything on this page - please download XIVLauncher from its official page and follow the setup instructions.
Plugin development
Dalamud features a growing API for in-game plugin development with game data and chat access and overlays. Please see our Developer FAQ and the API documentation for more details.
If you need any support regarding the API or usage of Dalamud, please join our discord server.
Thanks to Mino, whose work has made this possible!
Components & Pipeline
These components are used in order to load Dalamud into a target process. Dalamud can be loaded via DLL injection, or by rewriting a process' entrypoint.
| Name | Purpose |
|---|---|
| Dalamud.Injector.Boot (C++) | Loads the .NET Core runtime into a process via hostfxr and kicks off Dalamud.Injector |
| Dalamud.Injector (C#) | Performs DLL injection on the target process |
| Dalamud.Boot (C++) | Loads the .NET Core runtime into the active process and kicks off Dalamud, or rewrites a target process' entrypoint to do so |
| Dalamud (C#) | Core API, game bindings, plugin framework |
| Dalamud.CorePlugin (C#) | Testbed plugin that can access Dalamud internals, to prototype new Dalamud features |
Branches
We are currently working from the following branches.
| Name | API Level | Purpose | .NET Version | Track |
|---|---|---|---|---|
| master | 9 | Current release branch | .NET 8.0.0 (November 2023) | Release & Staging |
| api10 | 10 | Next major version, slated for release alongside Patch 7.0 | .NET 8.0.0 (November 2023) | api10 |