Download

How to add new third party midleware to teh build process?

Hi ,
I am posting my question here, in case I did it in the work forum the first time

for the pass few day I have being trying to figure out how to add

I create my file …\Engine\Source\ThirdParty\Newton\Newton.Build.cs

and I followed the steps in the wiki, which is not much I can do for what I can see
https://docs.unrealengine.com/latest...ion/index.html

but not mater what I do, I can not get the build process to add the path to the project file.
I keep getting these build errors.
1>D:\UnrealEngine\Engine\Source\Runtime\Engine\Public\PhysicsPublic.h(15): fatal error C1083: Cannot open include file: ‘Newton/Newton.h’: No such file or directory
1>D:\UnrealEngine\Engine\Source\Runtime\Engine\Public\PhysicsPublic.h(15): fatal error C1083: Cannot open include file: ‘Newton/Newton.h’: No such file or directory

Can any one point me to some doc that explain the steps to modify the build process so that I generate a project file with the proper path to the libraries and headers?

Julio

wow, Posted this yesterday, and today I move to another forum, but not one from Unreal has the courtesy to answer.

adding a module to the extend the engine should be a simple thong to do, whether you use a project file, a make file or any of the existing auto build system like CMAKE.
But Unreal makes thigh that are suppose to be trivial extremely complicated, this is a Build system like I never seem before,
and I do no think it is reasonable to expect for the Unreal dev team to expect the end user to revere engineer the build system.
What good does it makes to make the engine opens source if is going to be control but obfuscation?

are you trying to bind a DLL and use a library API? There are a couple of ways to achieve this, if you check my signature there are three examples of binding dlls to the unreal engine. The hydra uses a direct dll bind (windows only), the myo and leap use a proper include and lib bind (with expected dll in binaries). Check out their build.cs for details.

I highly recommend you start off as a project plugin (easier to manage) and only move it to the engine once you have all of your paths properly set up.

I though of making a plug in DLL, but this is not a high lever library, this is a Physics Engine, adding as a Plugin will required a rewrite of lot of the functionality of unreal so that any actor is aware of this library and does no fight
whe I look at the source adding a physics library appear to be a option, or a list it was at some point all the physics functionality is under a defined, so replacing or adding support for another library should be possible.
I have lot of the physics engine class already modified to use an agnostic engine an the project build and run. My problem is making the build process to add the path to the library and header and define

I am try adding as a DLL, it seems simpler that way, bu
I already checked many of build.cs examples from the third party folder and thsi is the simplest build.cs I can come up with

but the after I run GenerateProjectFiles.bat
I see that file UE4.vcxproj is modified and now contain this line
<None Include="…\Source\ThirdParty\Newton\Newton.Build.cs" />

but it does not contain ant reference to a any other paths, if I open the project file in a text editor and I searck for exampel for FBX I see a bunch of path that are added to the project file

Since I do not see the word Newton on any op the build files, or on any files other than one I listed, I figure that there most be some else that need to be done, but I do not see what or how.

I see I guess the answer is no.

Hi JulioJerez,

Did you add your module to dependency list of the module you’re trying to use it in? In this case it looks like it would be Engine?

Ha thank you.
sorry I did not respond sooner.

what file is that?
I though that was accomplished by creating file Newton.Build.cs in the third party directory.
I was reading these instructions, https://wiki.unrealengine.com/An_Introduction_to_UE4_Plugins but that is not quite what I need.

I was looking at how other libraries are integrated, but I cannot find a consistent pattern for adding a low lever library, it seems each library follows a different unique procedure.
when I do a global search for any keyword for another third party lib, I see that they show in a bunch of text and xml files, but those are under a Intermediate folder, so I assume they are generated by the build process.

I can not figure out what else I need to add so that My project is added to the project files.
can you please give an example of what to do after I created my [xxx].Build,cs and added the folder and the needed files.

Thanks
Julio

This is ridicules, it has being three month try to determine how to add a Path to the build process and nothong works.

this is what I doe my looking at how other DLL libraries are doing it

then after that when I compile the engine I get this error.

I try many difften way to include that file and other that adding an absolute path, I get the same error.]
This is the file D:\UnrealEngine\Engine\Source\Runtime\Engine\Private\PhysicsEngine\PhysNewtonWorld.cpp

Can some one from Unreal tell me what I am doing wrong or missing? Please.
Julio

for whatever is worth, I figured out.
Still this is the most complex build system I have ever seem, for not particular real gain.
I do not see what this system does better that established systems like CMAKE.

anyway thank you
you can close this.

I’m also learning the build system. You should share what you learned so others in your situation can benefit as well.

hey guys,

I have created a whole tutorial on how to include third-party libraries into unreal. Have a look here: How to include Third Party library (like boost / PCL) in a custom plugin? [SOLVED] - UE4 AnswerHub