Prerequisites
Before you start developing Dalamud plugins, ensure you have the following installed on your Windows development machine:.NET SDK
Download and install the .NET 8.0 SDK (or later) from Microsoft’s official site.You should see output like
8.0.100 or higher.Dalamud plugins target .NET 8.0 by default. Make sure you have the SDK, not just the runtime.
IDE or Text Editor
Choose a development environment:
Visual Studio 2022
Full-featured IDE with excellent C# support (Community edition is free)
JetBrains Rider
Premium C# IDE with advanced refactoring tools
Visual Studio Code
Lightweight editor with C# extension support
Git (Optional but Recommended)
Install Git for Windows to clone templates and manage your plugin source code.
XIVLauncher & Dalamud
Install XIVLauncher which includes Dalamud for testing your plugins.
Project Setup
Option 1: Using the Sample Plugin Template (Recommended)
The easiest way to start is by cloning the official Sample Plugin template:Rename and Configure
Open the solution in your IDE and rename the project:
- Rename the
.csprojfile - Update the
NameandInternalNamein the plugin manifest JSON - Update the namespace in source files
- Modify the plugin class name if desired
Option 2: Manual Project Creation
If you prefer to set up from scratch:Add the Dalamud Package
Add the Dalamud API NuGet package to your project:
The
DalamudPackager includes the Dalamud API and build tools needed for plugin development.Development Environment Configuration
DalamudLibPath Setup
For your IDE to find Dalamud assemblies, you need to set theDalamudLibPath correctly:
- Standard XIVLauncher
- Custom Installation
The default path is:This is typically:
Enable DevPlugin Loading
To test your plugin during development:Set DevPlugin Path
In the DevPlugins section, click Add and browse to your plugin’s build output directory:
Build and Test
Building Your Plugin
bin\Debug\ or bin\Release\ depending on your configuration.
Testing In-Game
Hot Reload During Development
Debugging
Attach Debugger
You can attach your IDE’s debugger to the game process:- Visual Studio
- Rider
- Go to Debug → Attach to Process
- Find
ffxiv_dx11.exein the process list - Click Attach
- Set breakpoints in your plugin code
Debugging works best when your plugin is built in Debug configuration.
Logging
Use theIPluginLog service for logging:
/xllog or check the log file at:
Common Issues
DalamudLibPath not found
DalamudLibPath not found
Error: Cannot find Dalamud assembliesSolution: Verify that XIVLauncher is installed and has run at least once. The
DalamudLibPath directory is created when Dalamud loads for the first time.Plugin won't load in-game
Plugin won't load in-game
Error: Plugin appears but won’t loadSolution:
- Check that your plugin class implements
IDalamudPlugin - Ensure the manifest JSON has a unique
InternalName - Verify that all services are injected correctly in the constructor
- Check
/xllogfor specific error messages
Types not available after build
Types not available after build
Error: Game data types or services are null at runtimeSolution: Some services may not be available until the player is logged in. Always check for null before using game state services.
Next Steps
Now that your environment is set up, you’re ready to build your first plugin!Create Your First Plugin
Follow the quickstart guide to build a working plugin in minutes
Plugin Lifecycle
Learn how plugins are initialized and disposed
Dependency Injection
Understand service injection patterns