3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【UE5】C++ を用いたオリジナルプラグインの作成方法

Posted at

手順

プラグインの作成

手順1

EditPlugins」を開き、左上の「Add」を押す。

TSUBASAMUSU.png

手順2

Blueprint Library」を選択してプラグインのパスや名前、作成者、説明などの情報を入力し、右下の「Create Plugin」を押す。

TSUBASAMUSU.png

コーディング

手順3

Visual Studio が開いたら「{プロジェクト名} \Plugins\ {プラグイン名} \Source\ {プラグイン名} \Public\ {プラグイン名}BPLibrary.h」と「{プロジェクト名} \Plugins\ {プラグイン名} \Source\ {プラグイン名} \Private\ {プラグイン名}BPLibrary.cpp」にそれぞれ処理を記述する。
(以下は例)

SampleBPLibrary.h
#pragma once

#include "Kismet/BlueprintFunctionLibrary.h"
#include "SampleLibraryBPLibrary.generated.h"

UCLASS()
class USampleLibraryBPLibrary : public UBlueprintFunctionLibrary
{
	GENERATED_UCLASS_BODY()

public:
	UFUNCTION(BlueprintCallable, meta = (KeyWords = "display text"), Category = "SampleLibrary|Log")
	static void DisplayText(FString Text);
};
SampleBPLibrary.cpp
#include "SampleLibraryBPLibrary.h"
#include "SampleLibrary.h"
#include "Kismet/KismetSystemLibrary.h"

USampleLibraryBPLibrary::USampleLibraryBPLibrary(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer)
{

}

void USampleLibraryBPLibrary::DisplayText(FString Text)
{
	UKismetSystemLibrary::PrintString(nullptr, Text);
}

手順4

処理を記述し終えたら UE エディタに戻り、右下のボタンを押してコンパイルする。
(「Ctrl + Alt + F11」でも可能)

TSUBASAMUSU.png

デバッグ

手順5

コンパイルに成功したらブループリントのイベントグラフを開き、C++ で記述した関数がノードとして呼び出せる事を確認する。

TSUBASAMUSU.png

備考

プラグインのサムネイル

「{プロジェクト名} \Plugins\ {プラグイン名} \Resources\ Icon128.png」を任意の PNG ファイルに置き換える事でプラグインのサムネイルを変更する事が出来る。
(画像サイズは 128 x 128

TSUBASAMUSU.png

(引用元:UE5 EA プラグイン作成~プラグイン作成と公開する準備まで~

「UFUNCTION()」について

Unreal Engine の UFunction より

UFunction は Unreal Engine リフレクション システムが認識する C++ 関数です。UObject またはブループリント関数ライブラリは、ヘッダ ファイルの関数宣言の上の行に UFUNCTION マクロを入れることで、メンバ関数を Ufunction として宣言することができます。このマクロは Unreal Engine の関数の解釈と使用方法を変更するために 関数指定子 をサポートします。

代表的な関数指定子

BlueprintCallable

C++ で作成した関数をブループリントからノードとして呼び出せるようにする。

UFUNCTION(BlueprintCallable)

Category

C++ で作成した関数をブループリントから検索する際に表示されるカテゴリーを設定する。

UFUNCTION(Category = "大分類|小分類")

代表的なメタデータ指定子

DisplayName

C++ で作成した関数をブループリントエディタから見た際に何というノード名で表示するかを設定する。

UFUNCTION(meta = (DisplayName = "関数の表示名"))

KeyWords

C++ で作成した関数をブループリントから検索する際に何というキーワードで検索したら結果に表示されるかを設定する。
キーワード同士の間は半角スペースで空ける。

UFUNCTION(meta = (KeyWords = "キーワード1 キーワード2 キーワード3"))

その他

参考記事

最後に

株式会社ModelingXについて

image.png

富山県を拠点とするスタートアップ企業、ModelingXは、2022年4月に創業し、「テクノロジーで感動体験を提供する」というミッションを掲げています。当社が開発中の暮らし体験メタバース「MELIFE(ミライフ)」は、バーチャル住宅展示場や銀行相談、家具購入、婚活などができる「地域単位の新たな経済圏」を目指しています。

↓サービスサイトはこちらから↓

ModelingXはリモートワーク&フレックスタイム制を完備。
UnityやUEを共に探求する仲間を全国から募集しています。

↓企業詳細はこちら↓

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?