UE4 插件隐藏源码并成功编译打包项目

UE4 插件隐藏源码编译打包项目

        客户突然提出需求需要我们提供自主研发插件,但公司又不希望客户能看到我们的源码,研究了好几天,参考了多为大佬的文章,但大佬们的文章并没有详细的说明隐藏源码编译打包项目功能的具体操作,这里把我实现这一功能发具体操作分享出来。

参考文章UE4插件研发 So Easy

1.创建插件

              创建一个空白模板的插件,编译一下。

             在插件中创建一个C++类继承BlueprintFunctionLibrary做功能测试,注意需选择刚才新建插件MyFirstPlugin(Runtime),在MyBlueprintFunctionLibrary的.h中声明一个静态函数,在.Cpp中实现函数。

public:
	UFUNCTION(BlueprintCallable, Category = "PluginTest")
	static float PluginFunctionAAndB(float A, float B);
float UMyBlueprintFunctionLibrary::PluginFunctionAAndB(float A, float B)
{
	return A + B;
}

              右键Generate一下,编译C++代码,打开项目测试一下功能,发现插件功能OK。

2.打包插件

             打包插件之间需要在插件的.uplugin做一些配置,确保WhitelistPlatforms是“Win64”,Type是“Runtime”。

"Modules": [
    {
      "Name": "MyFirstPlugin",
      "Type": "Runtime",
      "LoadingPhase": "Default",
      "WhitelistPlatforms": [
        "Win32",
        "Win64"
      ]
    }
	]

             回到项目中,点击打包即可,等待几分钟,打包成功。

3.隐藏插件源码

             将打包好的插件文件夹替换原插件文件夹;

            并将Private的文件夹删除;

           在插件.build.cs文件中添加代码bUsePrecompiled = true;将是否使用预编译设为true,在编译的时候就不会再编译插件;

           如果之后打包失败,可再添加一句PrecompileForTargets = PrecompileTargetsType.None;

	public MyFirstPlugin(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;

        bUsePrecompiled = true;
        PrecompileForTargets = PrecompileTargetsType.None;
    }

           右键Generate一下,编译C++代码,打开项目打包成功,并运行,发现功能OK,隐藏插件源代码功能完成。

猜你喜欢

转载自blog.csdn.net/xialuhui/article/details/113569437