# Copy 3rd Party DLLs to Binaries folder does not work for Engine Plugin - How to solve?

**URL:** <https://forums.unrealengine.com/t/copy-3rd-party-dlls-to-binaries-folder-does-not-work-for-engine-plugin-how-to-solve/738255>\
**Category:** Plugins\
**Tags:** dll, Third-Party, Code-Plugins, unreal-engine\
**Created:** [December 29, 2022, 11:54am UTC](https://forums.unrealengine.com/t/copy-3rd-party-dlls-to-binaries-folder-does-not-work-for-engine-plugin-how-to-solve/738255 "2022-12-29T11:54:24Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![sheen](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@sheen](https://forums.unrealengine.com/u/sheen)\
**Post date:** [July 23, 2025, 5:54am UTC](https://forums.unrealengine.com/t/copy-3rd-party-dlls-to-binaries-folder-does-not-work-for-engine-plugin-how-to-solve/738255/6 "2025-07-23T05:54:14Z")

</div>

For anyone is confusing with this issue you mistake the process of packing Plugin and packing Game.

when you build your plugin with

```bat
RunUAT.bat BuildPlugin 

```

It won’t stage the _RuntimeDependencies_ for you, you need to do this by either

- 
  1. puting the ThirdParty files at correct location where you refer them in your Build.cs file (for example **YourPlugin/Binaries/ThirdParty/…** )  
OR

- 
  1. running some PreBuildSteps scripts to copy them to the correct location where you refer them in your Build.cs (for eamxple copy them from **YourPlugin/Source/ThirdParty/…** to **YourPlugin/Binaries/ThirdParty/…** )

But if you choose to put them directly in **YourPlugin/Binaries/ThirdParty/…** , you cannot submit your plugin package because this is violation against the [(Fab) Technical Requirements - 4.3.7.3.d](https://support.fab.com/s/article/FAB-TECHNICAL-REQUIREMENTS?language=en_US) which states

> Third-party dependencies may only be used with proof of permission and must be placed in a ThirdParty folder located inside the Source folder.

So the correct and available approach is 2.

- Put your ThirdPatry files in **YourPlugin/Source/ThirdParty/…**

- Add PreBuildSteps in your plugin description file **YourPlugin.uplugin** , here is an example

What important to know about how FAB will process your submission:

- The PreBuildSteps scripts will be executed when you build your plugin or build the game project which consumes your plugin.
- ⚠ ⚠_ **DO NOT USE XCOPY ON WINDOWS PLATFORM** _, because it won’t be executed correctly due to the output redirection, use robocopy instead!
- When you submit your plugin package, FAB only need you to provide all source content, any built artifacts are not needed and should not be included in your submission package.
- When FAB gets your plugin package (actually a source package), they will build your plugin with RunUAT.bat or RunUAT.sh with _BuildPlugin_ parameter for all declared supported platforms.
- You need to make sure the folder **YourPlugin/Binaries/ThirdParty/…** will be preserved after the building process by declaring the path in **YourPlugin/Config/FilterPlugin.ini** like:

```ini
[FilterPlugin]
; This section lists additional files which will be packaged along with your plugin. 
; Paths should be listed relative to the root plugin directory, 
; and may include "...", "*", and "?" wildcards to match directories, files, and individual characters respectively.
;
; Examples:
; /README.txt
; /Extras/...
; /Binaries/ThirdParty/*.dll

; Preserver ThirdParty folder
/Binaries/ThirdParty/...

```

- After all platforms were built successfully, FAB will combine all the artifacts in to single one archive file, and they will deploy the archive to the FAB market server. (actually the Intermediate folder will be included because it contains the precompiled files reference, this is important to the project using your plugin)

There is so few documents to describe the FAB build and deploy process, I figure this out by submitting my plugin more than 200 times and eventually published my product successfully.

Hope this will help all developers working on plugins with third-party references.

---

_[View the full topic](https://forums.unrealengine.com/t/copy-3rd-party-dlls-to-binaries-folder-does-not-work-for-engine-plugin-how-to-solve/738255)._
