How to get datasmith plugins into the github build of the engine?

How to get datasmith plugins into the github build of the engine? I’ve built the ue4 from source code to use Nvidia gameworks, but I need to use datasmith which I already have access to it through the launcher version.

Thank you

Did you find a solution?

You may want to try first installing Datasmith into a marketplace build of the engine, then copy the plugin files to your source build folder. The default installation for the marketplace build is here: “UE_4.19\Engine\Plugins\Enterprise”.

Copy those files to the Engine/Plugins/ folder for your source build, generate project files, build in VS, then test to make sure the plugin is visible in-engine.

There’s actually a folder called Enterprise that Unreal Studio adds to the root of the engine directory, this seems to be where the datasmith plugin gets installed to. Copying that folder to a source build does actually add this menu option to the project browser

However, when I try to create a new project from this template I run into problems:

251181-error.png

The launcher has logic to verify that you’ve accepted the terms of the unreal studio beta license so I have to wonder if this approach is being blocked as a way to ensure you’ve accepted the license?

there’s a work around but it’s not ideal UE4 Source Engine Compatibility - Datasmith - Unreal Engine Forums

As noted in the other answer, install the MarketPlace version of the engine, and do a build of the source version of the engine in another folder. Copy the “Enterprise” folder from the MarketPlace version’s folder into the source build’s folder.

Then you have to trick the editor into thinking the Enterprise plugins that you copied over were built from the same machine. To do this go inside the “Enterprise” folder and do a search for .modules files, there should be 7 of them as of 4.21. Open up each of these and replace the “BuildID” (4541578 for version 4.21) with your own BuildID that was generated for your source build.

You can find your BuildID by opening another .modules file from anywhere in the “Engine” folder inside your source build (just doing another .modules search should suffice). BuildID’s from a source build will be formatted differently (presumably identifying your machine):

012345678-0123-0123-0123-0123456789ab

Replacing all the BuildID’s inside the Enterprise folder will allow you to run the pre-compiled binaries of the Enterprise plugins as if they were built on your machine right alongside your version of the engine.

Cheers.

Edit:

It appears as if it’s actually possible to avoid modifying the contents of the Enterprise folder per the documentation:

Under the section entitled Manually-Specified Build ID it notes:

It is possible to force your Build ID to a specific value. This can be accomplished by adding a “BuildId” line to your “Build/Build.version"

So simply adding a line to this file before a full rebuild will suffice if you just need to get a single build working:

“BuildId”: “4541578”,

Of course you’ll still need to lookup the build number in the Enterprise folder for each new marketplace version. The down side of this strategy as noted in the docs, is that if you are actively developing the build system won’t be able to tell what packages are out of date. We really need to do is add a post build script that will replace the BuildId references in the Enterprise folder each time you build.

And before anyone suggests otherwise, none of this would affect the licensing behavior since the binaries still check with the launcher for an active license for each session.