Getting Started | Dalamud (2024)

🚧Pardon our dust!

We are in the process of updating and expanding our documentation, and collapsing the Development FAQ pages into other parts of our documentation as part of this process. Some information may be temporarily outdated. If something seems wrong, please

join our Discord and ask in

#plugin-dev for assistance.

  • How do I get started?
    • Dalamud Plugins
    • Dalamud
    • XIVLauncher
  • Where do I ask for help?
  • How do I hot-reload my plugin?
  • How do I debug my plugin and/or the game?
  • How do I use FFXIVClientStructs in my own code?

How do I get started?​

The majority of the XIVLauncher and Dalamud ecosystem is written in C# for itsusability, convenience, and robustness. It is recommended that anything you workon is also in C#, unless you're working on something with a significant amountof interoperation with native code (in which C++/CLI may be useful) or you'reexperimenting with other .NET languages.

To get started, you'll want to get the latest version of Visual Studio foundhere; the Community editionwill work fine. After doing so, you can clone any of the following projects andget to work with their Visual Studio solutions. Alternatively, you may want touse another IDE such as JetBrains Rider.

Dalamud Plugins​

Plugins allow you to interact with the game and add features, modifyfunctionality, and do much more. We ask you to be respectful ofour guidelines to ensure that yourplugin is approved into the primary repository, and to minimise the risk ofaction by Square Enix. You can read more about thishere.

We recommend that you start by cloning one of the following templates, and thencustomising it to your requirements. While SamplePlugin is the most activelymaintained, the others are updated as required:

To distribute a plugin, it needs to be packaged correctly. This can be donemanually or with DalamudPackager.

When your plugin is ready for testing/release, it should be PRed over to theDalamudPluginsD17 repo.Please place testing plugins in the testing/live folder.

Dalamud​

Dalamud is the core addon/plugin system. It is loaded by XIVLauncher into yourgame, and is responsible for loading your plugins and providing them with a coreset of functionality.

The Dalamud source codecan be found on GitHub.

Other assets required by Dalamud can be foundin the DalamudAssets repository.

You can find the Dalamud API documentation on this site.

XIVLauncher​

XIVLauncher is a custom launcher for FFXIV that offers a number of benefits,including faster launching, saved credentials, and automatically injectingDalamud into the game.

The XIVLauncher source code can be foundon GitHub.

Where do I ask for help?​

The best place to ask for help is the#dev channel of the Discord; we're a helpfulbunch and will do our best to answer your query as long as you explain whatyou've tried and looked at so far.

How do I hot-reload my plugin?​

As of API 4/Dalamud 6, hot-reloading is part of Dalamud. To use it, go toDalamud Settings > Experimental > Dev Plugin Locations, and then add either thefolder that your plugin is in or the plugin itself. If you add a folder, Dalamudwill attempt to load all DLLs within the folder.

Your configuration should look something like this:Getting Started | Dalamud (1)

How do I debug my plugin and/or the game?​

To debug, you'll need to attach a debugger to the game. This will usually befrom your development environment, such as Visual Studio.

However, the game has antidebug protection on by default. To turn this off, usethe Dalamud dev menu (/xldev), then go to Dalamud > Enable AntiDebug; thissetting is persisted between launches, so you do not need to turn it on eachtime.

Once you've done this, you can attach to the game with your debugger. In VisualStudio, you can go to Debug > Attach to Process (Ctrl+Alt+P), and then selectthe FF14 process. For the full debugging experience, make sure to change "Attachto" to include both Native code and Managed (.NET 4.x) code; this willensure that the debugger will work for both the game and for Dalamud plugins.

This functionality is only supported for debugging your plugins. You will notreceive support if you use it for anything else.

Detailed instructions are available here.

How do I use FFXIVClientStructs in my own code?​

FFXIVClientStructs is a communalproject to provide an interface to the game's classes, data, and more to C#users and reverse engineers.

To use FFXIVClientStructs in your own code, you'll need to add a reference toit. This can be done by opening the csproj for your plugin and adding thereference with the other references:

 <Reference Include="FFXIVClientStructs">
<HintPath>$(AppData)\XIVLauncher\addon\Hooks\dev\FFXIVClientStructs.dll</HintPath>
</Reference>

or through right-clicking the project in VS, going to Add, and then adding anAssembly Reference to the same path. Note that you will likely need to stillopen the csproj after doing this to ensure that the path uses $(AppData) andnot the path specific to your system.

The version of FFXIVClientStructs included with Dalamud is updated withreasonable frequency, and has several patches to ensure that backwardscompatibility with existing plugins is not broken. You can bundle your ownversion if you'd like for the latest findings, but be aware that this may makeit difficult for you to maintain compatibility with new versions of the gameand/or Dalamud.

Getting Started | Dalamud (2024)

FAQs

How to download Dalamud plugin? ›

To install plugins, you'll need to use XIVLauncher with the in-game addon (Dalamud) enabled. Once Dalamud has loaded, you can type /xlplugins in game to open a plugin installed. You do not need to download any of the plugins here manually. Plugin installation is handled inside of the game directly.

How to enable Dalamud? ›

Navigate to the "Plugins (Dalamud)" tab and select "Enable Dalamud". The "Entrypoint" option should be left unselected for now. Unless you are experiencing issues, the Delay should be left as the default value.

How to install plugins in XIVLauncher? ›

How to install plugins. XIVLauncher supports the installation of plugins/addons made by third-party developers in-game. Open the system menu in-game by pressing escape, and then select “Dalamud Plugins” from there. You can also use the /xlplugins command in chat.

What is a Dalamud launcher? ›

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.

How to install a plugin? ›

To install the plugin, you visit the website of the plugin's developer and click on a link that will download the installer for the plugin you have selected. You can save the installer to an easy to find location such as the Desktop or a specific folder you have created to organize all of your downloads.

How to install AI plugins? ›

Click on Plugins in the sidebar menu. Click on Add New at the top of the Plugins page. Type AI Power in the search bar and press enter. Find AI Power in the search results and click Install Now.

What is the XIV launcher? ›

XIVLauncher is a custom launcher for FINAL FANTASY XIV that offers painless patching, a customized WINE version for perfect compatibility with FFXIV, a multitude of useful plugins and seamless Steam Deck integration.

How do I add penumbra to Dalamud? ›

Installing
  1. /xlsettings -> Experimental tab.
  2. Copy and paste the repo.json link below.
  3. Click on the + button.
  4. Click on the "Save and Close" button.
  5. You will now see Penumbra listed in the Available Plugins tab in the Dalamud Plugin Installer.
  6. Do not forget to actually install Penumbra from this tab.

How to download FFXIV launcher? ›

Please visit https://sqex.to/ffxiv_client_en to download the official Windows client for Final Fantasy XIV. Please go to your Steam Library and download Final Fantasy XIV directly through the Steam client.

What is my Square Enix ID? ›

If you are unable to locate your Square Enix ID, you should first attempt to log in using the email address registered to the Square Enix ID. Once logged in, the Square Enix ID should display at the top of the page.

How do I use custom plugins? ›

How to create a custom plugin:
  1. Step 1 – Scaffold the plugin files. The following command uses several options to lets us specify the plugin slug, its name, description, author name and uri as well as the plugin uri. ...
  2. Step 2 – create a custom post type: ...
  3. Step 3 – Write code inside the main file: ...
  4. Step 4 – Activate the plugin.

Is it safe to use XIVLauncher? ›

Yes! Here at Goatcorp, we take security extremely seriously. Using our software should never put you in a situation where another player can detect you're using third party modifications. At this time, we have no reason to believe that Square Enix does anything to detect client modifications in any form.

What is Ankama launcher? ›

Ankama Launcher is a portal that lets you access all of Ankama's many universes with just a single click! Connect to our video games, VOD animations, webtoons, and even our livestreams! Download updates, stay up to date with the latest news, and chat with your friends!

How do I manually add plugins to Dalamud? ›

To use it, go to Dalamud Settings > Experimental > Dev Plugin Locations, and then add either the folder that your plugin is in or the plugin itself.

How to install a plugin in Total Commander? ›

Open Total Commander, locate the file and double click on it (or just press "ENTER"). Total Commander will prompt you to install the plugin. Accept it. A list of installed plugins will appear.

How to install a plugin in OCS? ›

Log into your Administration console and go to the "Extensions" tab. Select the plugin and click on "Install". If the newly installed plugin implements a specific page, remember to modify your users' profiles to grant them access to the plugin page.

How to install Kubernetes plugins? ›

A plugin is a standalone executable file, whose name begins with kubectl- . To install a plugin, move its executable file to anywhere on your PATH . You can also discover and install kubectl plugins available in the open source using Krew. Krew is a plugin manager maintained by the Kubernetes SIG CLI community.

Top Articles
Latest Posts
Article information

Author: Patricia Veum II

Last Updated:

Views: 6603

Rating: 4.3 / 5 (64 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Patricia Veum II

Birthday: 1994-12-16

Address: 2064 Little Summit, Goldieton, MS 97651-0862

Phone: +6873952696715

Job: Principal Officer

Hobby: Rafting, Cabaret, Candle making, Jigsaw puzzles, Inline skating, Magic, Graffiti

Introduction: My name is Patricia Veum II, I am a vast, combative, smiling, famous, inexpensive, zealous, sparkling person who loves writing and wants to share my knowledge and understanding with you.