# 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
```