UE4.26 创建一个Hello World插件

177 阅读2分钟

起步

​ 最近跟着师兄一起做项目,要做一个UE的插件,UE版本为4.26,作为初学者希望一起交流一起进步。

​ 创建一个C++项目

QQ截图20240707170659.png

​ 点击所指示的图标可以看见有C++类的目录,创建好后的的页面如下所示:

QQ截图20240707171401.png

​ 新建一个插件:

image-20240707174720631.png

​ 在弹出来的页面点击新插件:

image-20240707174808791.png

​ 这里我们选择空白插件,此外可以在下方设置插件的名字,作者和描述:

image-20240707174938237.png ​ 好啦,创建完毕之后会等几秒钟进行编译,编译完成后,当前目录下就会出现我们创建的新插件:

image-20240707175214052.png

​ 然后在C++类中创建一个C++类:

image-20240707175325654.png

​ 这里选择蓝图函数库,然后点击下一步:

image-20240707175427554.png

​ 将函数库存放到我们刚刚创建的插件目录下,名字我们就取默认的默认的名字,然后点击创建类:

image-20240707175546656.png

​ 创建之后系统会进行一段时间的加载,可能会弹出以下弹窗,我们点“否”即可:

image-20240707175832490.png

​ 此时HelloWorld文件夹下面并没有刚刚所创建的C++类,此时我们关闭虚幻引擎,在VS中会提示如下内容,我们点击“全部重新加载”:

image-20240707180035509.png

​ 完成后,点击本地windows调试器打开UE:

image-20240707180258564.png

​ 然后就可以在HelloWorld文件夹里面看见刚刚创建的C++类了,然后就可以开始愉快地编写插件啦:

image-20240707180355839.png

编译

我们点击刚刚创建的C++类,进入VS中:

image-20240707180914041.png

MyBlueprintFunctionLibrary.h:

// Fill out your copyright notice in the Description page of Project Settings.
 
#pragma once
 
#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "MyBlueprintFunctionLibrary.generated.h"
 
/**
 * 
 */
UCLASS()
class NEWPLUGIN_API UMyBlueprintFunctionLibrary : public UBlueprintFunctionLibrary
{
	GENERATED_BODY()
public:
	UFUNCTION(BlueprintCallable, Category = "MyBlueprintFunctionLibrary")
		static void HelloWorld();
	
	
};

MyBlueprintFunctionLibrary.cpp:

// Fill out your copyright notice in the Description page of Project Settings.
 
#include "MyBlueprintFunctionLibrary.h"
#include "Engine.h"
 
 
 
void UMyBlueprintFunctionLibrary::HelloWorld()
{
	GEngine->AddOnScreenDebugMessage(0, 30.f, FColor::Red, "Hello!");
}

​ 插件编译不能直接使用UE编辑器中的编译按钮,在编辑器中点击窗口->开发者工具->模块,对刚刚创建的C++类进行编译:

image-20240707181426145.png

​ 搜索Hello,找到需要编译的模块,从而进行编译:

image-20240708170537173.png

调试

​ 创建一个新关卡,打开关卡蓝图,在关卡蓝图中右键搜索我们刚刚创建好的插件:

image-20240708170814743.png

image-20240708170905038.png

​ 然后点击运行就可以在窗口上看见结果啦

image-20240708171017816.png