0

In an Unreal Engine .uproject file there is a Modules section which lists the project-specific modules with a source code folder under the Source folder.

Each such module definition has an AdditionalDependencies field with a list of strings.

What is the meaning of this AdditionalDependencies field? Is it a list of modules or plugins?

If modules, what does it mean for a module A to have a dependency on module B? That is, what effect does this listing have:

"Modules":[
{
  "Name":"A",
  ...
  "AdditionalDependencies":[
    "B"
  ]
},
...
]

Each module has an associated build file .Build.cs, and in it is contained PublicDependencyModuleNames and PrivateDependencyModuleNames lists.

Is the kind of module dependency declared by .uproject/AdditionalDependencies different from the kind of module dependency declared by .Build.cs/DependencyModuleNames ? If so, how?

(Crossposted https://forums.unrealengine.com/t/what-does-the-additionaldependencies-field-mean-in-uproject-modules-section/589091?u=zos and https://www.reddit.com/r/unrealengine/comments/vjg6q9/what_does_additionaldependencies_in_an_unreal/)

Andrew Tomazos
  • 66,139
  • 40
  • 186
  • 319

1 Answers1

1

I found this note about the field at https://docs.unrealengine.com/5.0/en-US/unreal-engine-modules/:

AdditionalDependencies (array): Specifies additional dependencies needed by the module. You should specify this in your Build.cs files instead.

So what I suspect is that the AdditionalDependencies field is some kind of evolutionary left over, and that the dependencies declared in the .Build.cs file are intended to completely replace it.

I have entirely removed the AdditionalDependencies fields from my .uproject file, and thus far have not observed any ill-effects.

I'd still be curious to know the story behind it if anyone knows.

Andrew Tomazos
  • 66,139
  • 40
  • 186
  • 319