code-iai / ROSIntegration

Unreal Engine Plugin to enable ROS Support
MIT License
412 stars 133 forks source link

How to build plugin? #133

Closed mjforan closed 4 years ago

mjforan commented 4 years ago

I would like to make some basic changes like adding Geometry_Msgs/PoseStamped but I can't figure out how to build the plugin code. In the readme where it says "run the following," where am I supposed to be running the build scripts? Is it possible to use Visual Studio for building? When I try to use the project file to generate VS solution it says there are no C++ files. Is it enough to use the Unreal editor's built-in build system, where it asks to rebuild plugins if I delete the binaries folder?

mjforan commented 4 years ago

After a lot of searching and troubleshooting I got it to work. The "[Run UAT script]" is an automated build script in the engine folder, e.g. "\UE_4.25\Engine\Build\BatchFiles\RunUAT.bat". The "build.cs" is a file in the source directory for the plugin and the "[Public/Private]" part means add "PublicDependencyModuleNames.AddRa......" as well as "PrivateDependencyModuleNames.AddR..." to the file. I'm not really sure why they don't just add it themselves to the file in the repo? Maybe this "build.cs" is leftover from an older version of the engine so I don't see it in my files. So basically have the plugin source code in one folder where you edit it, then run the build script pointing at your source code and putting the result in the project's Plugins/ROSIntegration folder. One more thing - apparently the option in the build script to set the target platform doesn't work, so it tries to build for everything including IOS. Apple code has to be built on an Apple device so for the build to run on Windows I had to change the "Type" to "DeveloperTool" in the uplugin file. I'm using versions 4.24 and 4.25