unreal-engine-cpp-pro
Unreal Engine 5 C++ 開発をマスターする
パフォーマンスに優れた Unreal Engine 5 C++ コードを書くには、UObject のハイジーン、ガベージコレクション、リフレクションマクロの理解が必要です。このスキルは、プロダクションレディのゲームコード作成を支援する専門家ガイドラインを提供します。
スキルZIPをダウンロード
Claudeでアップロード
設定 → 機能 → スキル → スキルをアップロードへ移動
オンにして利用開始
テストする
「unreal-engine-cpp-pro」を使用しています。 Unreal Engine 5 でメモリリークを防ぐにはどうすればよいですか?
期待される結果:
ガベージコレクタに追跡させるために、UObject ポインタには必ず UPROPERTY() をマークしてください。GC を生き延びる必要があるオブジェクトには、AddToRoot() または TStrongObjectPtr を使用します。EndPlay() で非 UProperty 参照をクリーンアップしてください。
「unreal-engine-cpp-pro」を使用しています。 Unreal Engine C++ クラスではどの命名規則に従うべきですか?
期待される結果:
標準プレフィックスを使用:T はテンプレート用 (TArray)、U は UObject 用、A は Actor 用、S は Slate ウィジェット用、F は構造体用、E は列挙型用、I はインターフェース用。ブール値には bIsActive のように 'b' プレフィックスを付けます。
「unreal-engine-cpp-pro」を使用しています。 Unreal Engine 5 C++ でインターフェースを実装するにはどうすればよいですか?
期待される結果:
UINTERFACE() でインターフェースを宣言し、クラスで実装し、インターフェース関数を呼び出す前に Implements<UYourInterface>() でチェックします。実行には IInterfaceName::Execute_Method(Object) を使用します。
セキュリティ監査
安全All 70 static findings are false positives. The scanner incorrectly flagged Unreal Engine lifecycle methods (BeginPlay, EndPlay, Tick) as system reconnaissance, soft reference patterns (TSoftClassPtr) as weak cryptographic algorithms, and markdown code fences as shell backtick execution. This is a legitimate Unreal Engine 5 C++ development guide with no security concerns.
品質スコア
作れるもの
ゲームプレイプログラマー
適切な GC アノテーションとパフォーマンスパターンを備えた効率的な Actor および Component クラスの作成。
テクニカルディレクター
チームのコーディング標準の確立と、UE5 ベストプラクティスに関する C++ プルリクエストのレビュー。
中級 UE 開発者
ソフト参照、インターフェースパターン、メモリ最適化などの高度なトピックの学習。
これらのプロンプトを試す
Unreal Engine 5 C++ で UObject ポインタメンバ変数を正しく宣言するにはどうすればよいですか?ガベージコレクションにはどの指定子を使用すべきですか?
Tick 関数内でのキャストを避けるための推奨アプローチは何ですか?Unreal Engine 5 でコンポーネント参照をキャッシュするにはどうすればよいですか?
UFUNCTION を使用して C++ 関数を Blueprint に公開するにはどうすればよいですか?BlueprintReadWrite と BlueprintReadOnly の違いは何ですか?
Unreal Engine 5 における TSubclassOf、TSoftClassPtr、TSoftObjectPtr の違いを説明してください。それぞれをいつ使用すべきですか?
ベストプラクティス
- デフォルトでは Tick を無効化 (bCanEverTick = false) し、絶対に必要な場合のみ有効化し、タイマーとイベント駆動ロジックを優先します。
- ガベージコレクションの問題とメモリリークを防ぐために、UObject ポインタには常に UPROPERTY() を使用します。
- パフォーマンスオーバーヘッドを避けるため、Tick 関数で GetComponentByClass を呼び出す代わりに、BeginPlay でコンポーネント参照をキャッシュします。
回避
- Tick 関数内で Cast<T>() を使用 - これにより毎フレームパフォーマンスオーバーヘッドが発生し、ホットコードパスでは避けるべきです。
- 大規模アセットへのハード参照 (TSubclassOf) を保存 - これによりサブツリー全体が強制的に読み込まれ、レベル遷移中にメモリスパイクを引き起こす可能性があります。
- デリゲートとタイマーの EndPlay クリーンアップをスキップ - アクターが破棄されてもコールバックが発火し続け、クラッシュの原因となります。