UE5在VS中手動(dòng)添加自定義模塊

來(lái)源:?jiǎn)袅▎袅?/span>

最近開(kāi)始接觸Unreal Engine,首先面對(duì)的問(wèn)題,就是如何在一個(gè)UE的C++項(xiàng)目中添加自定義模塊。網(wǎng)上有一些不錯(cuò)的說(shuō)明文章,但最終,我還是接連地掉進(jìn)幾個(gè)坑里面。于是,決定簡(jiǎn)單寫(xiě)幾點(diǎn)“避坑心得”回饋社會(huì)。

避坑技巧(零),IDE從VS換成Rider,Rider提供了模塊創(chuàng)建向?qū)?,輕松愜意。后面不用看了。

在Visual Studio環(huán)境下,我們需要手動(dòng)完成以下工作:


(資料圖)

在工程Source目錄下,新建`<模塊名>`文件夾;

在`Source/<模塊名>`文件夾下,新建`Private`文件夾、`Public`文件夾和`<模塊名>.`編譯配置文件;

在`<模塊名>.`中添加下面的內(nèi)容:

在`Source/<模塊名>/Public`下,新建頭文件,命名為`<模塊名>.h`;

在`Source/<模塊名>/Private`下,新建源文件,命名為`<模塊名>.cpp`;

向工程的 `<工程名>.` 和 `<工程名>` 中添加模塊引用;

一個(gè)Unreal的項(xiàng)目默認(rèn)有DebugGame、DebugGame Editor、Development、Development Editor以及Shipping,五個(gè)不同的編譯目標(biāo)配置;

如果編譯目標(biāo)是Debug Game、Development和Shipping,生效的編譯文件是`<工程名>.`;

如果編譯目標(biāo)是Debug Game Editor和Development Editor,生效的編譯文件是`<工程名>`;

因此,一般可以認(rèn)為`<工程名>.`中的引用模塊應(yīng)該是`<工程名>`的子集。

再?gòu)?qiáng)調(diào)一下,2個(gè)中都必須添加這句代碼:(newList<string>(){"CustomModuleName"});

在文件瀏覽器中右鍵點(diǎn)擊`.uproject`文件,選擇`Generate Visual Studio project files`;

這個(gè)操作可以認(rèn)為是UBT的入口,可以重新生成.sln文件和Intermediate目錄(包括其內(nèi)部的.vcxproj文件)。

到這一步,我們已經(jīng)可以在Binaries/目錄下編譯出模塊對(duì)應(yīng)的DLL文件了。

在`.uproject`中添加模塊加載項(xiàng),這樣才能加載模塊:

模塊加載之后,模塊的StartupModule函數(shù)才會(huì)被調(diào)用;

模塊加載之后,在UnrealEditor中新建C++類(lèi)時(shí),才能把它指定到對(duì)應(yīng)的模塊中。

總結(jié)一下:

按目錄規(guī)范添加文件:.、.h和.cpp;

按規(guī)范編寫(xiě)上面3個(gè)文件的內(nèi)容;

在和中添加模塊依賴(lài);

通過(guò)uproject啟動(dòng)UBT重新生成vs工程;

在uproject中添加模塊的啟動(dòng)配置。

標(biāo)簽:

推薦

財(cái)富更多》

動(dòng)態(tài)更多》

熱點(diǎn)