I’ve been exploring Daggerfall on and off for a few years now, but I’ve only been exploring the world of Daggerfall modding for a few months. I’m still somewhat of an amateur so excuse any numptitude and hamfistedness in this guide…
While quest-writing can be done using any old text-editor (though I heavily recommend using Visual Studio Code with TheLacus’ dftemplate extension), creating world-data mods requires use of the Unity Editor. DFU requires Unity version 2019.4.40f1 which, as of writing, is the version Daggerfall Unity is built on, and the Daggerfall Unity source.
Unity can be downloaded from https://unity.com/download. The version for personal use is free to use and is all you need for modding Daggerfall Unity. I recommend you download the Unity Hub which is the default downloadrather than a specific version of Unity from their archive. Once it’s installed and run, the Unity Hub will prompt you to download a Unity version and open a project. Leave that for now and download the DFU source for the latest release from https://github.com/Interkarma/daggerfall-unity/releases. Make sure you download the source code archive rather than the regular archive as Unity needs to load the project. Source code is released as .zip and .tar.gz versions. Grab whichever one you are more familiar with.
Extract the source code archive into a folder on your system. e.g. c:\Modding\DFU. Once this is done, open that folder from Unity Hub as a project. It should recognise what Unity version has been used and download the appropriate version for you. Previously you would also need Daggerfall Tools for Unity, however this is now included in the Daggerfall Unity source.
Unity should then load and import the project. This might take a while. Make a cup of tea. Once that’s done, select DaggerfallUnityStartup from the hierarchy window. This will load the data for the game. You can then press the play button at the top of Unity’s window to play the game within the Unity Editor. This enables you to test your mod while creating it. You’ll want to pause before going back to the scene screen where you can manipulate the game world in whichever way you desire.
To create a mod, make a new folder under the following path, this is the best place to store your work in progress mods for Unity to find them and for you to late compile them into a dfmod file…
This keeps things tidy. However lose override files that you wish to test such a replacement billboard objects and customised buildings can be saved to the appropriate folders (such as WorldData or Textures) in…
Unity will automatically add .meta files for everything you put in there. This is data Unity uses and you probably don’t need to worry about it.
Daggerfall Tools should be available from the menubar on Unity. This will give you the basic kit for modding Daggerfall; such as the WorldData Editor for creating and modifying game areas such as buildings and dungeons, and the ModBuilder for compiling your modified files into a .dfmod file that can be shared with other players and uploaded to mod sites such as Nexusmods or ModDB.
Although I will endeavour to document my… erm, endeavours in DFU modding to the best of my ability, other resources are available. There is some documentation on using the modding system on the DFworkshop website at https://www.dfworkshop.net/projects/daggerfall-unity/modding/ however for a step by step guide, the Modding Tutorials on the DFworkshop forums are invaluable, and the place I started my journey.
Compiling as a .dfmod
When you want to share your mod you’ll need to compile it as a .dfmod file. This can be done using the Mod Builder in the Daggerfall Tools menu. You will need to fill in the details about your mod. Add any dependencies it requires and then select the files from the project section you want to include and add files. Then build mod. You’ll need to do this without Daggerfall playing in the Editor.
Sharing to NexusMods
Unless you are creating a mod for personal use only, you’ll want to share it. The premier location for publishing your mod is NexusMods.