# Using Dependencies KSPBuildTools can help manage other mods that you depend on ## Referencing Dependency DLLs Mod DLLs should be referenced with the {confval}`ModReference` item, like so. ```xml GameData/Modulemanager*.dll GameData/000_Harmony/0Harmony.dll ``` ## Installing Dependencies Automatically KSPBuildTools can install CKAN mods automatically when built. This is useful for CI workflows such as those using the {gha:action}`compile` action, or to make it easier for others to compile your mod themselves. Either add the `` metadata to your `` items, or if the dependency mod doesn't have a dll you need to reference you can use the `` item. ```xml GameData/Modulemanager*.dll ModuleManager ``` You can also mark explicit versions to install. ```xml GameData/Modulemanager*.dll ModuleManager 4.2.3 ``` ## Generating KSP Dependency Attributes KSP mods should mark their dependency DLLs using the `KSPAssemblyDependency` attribute. `[assembly: KSPAssemblyDependency("0Harmony", 0, 0, 0)]`{l=csharp} If the {confval}`KSPBT_GenerateDependencyAttributes` property is set to `true` (the default), KSPBuildTools will generate these attributes automatically. The assembly name is taken from the value of the item. The version is taken from the `` metadata value, however leaving it at the default of 0.0.0 is usually acceptable ```xml GameData/TweakScale/plugins/Scale.dll TweakScaleRescaled 3.2.0 ``` To disable generating the `KSPAssemblyDependency` attribute for a single dependency (for example, if it lacks the `KSPAssembly` attribute), you can set `GenerateDependencyAttribute` to false ```xml GameData/TweakScale/plugins/Scale.dll TweakScaleRescaled false ```