- バグ修正: ハードコードされた
MI_M_の特殊ケース判定を、動的なCleanupPrefix(RenamePrefix + SourcePrefix)に置き換えました。カスタムプレフィックス設定時に、ソースプレフィックスのクリーンアップが必要なアセットが正しく検出されるようになりました。 - バグ修正:
ExtractBaseNameにバウンドチェックを追加し、空のベース名が生成されるパターン(例:M_のみのアセット名)をスキップするようにしました。 - 改善:
FAssetRenameUtilにSimulateRenameMaterialInstanceメソッドを追加し、コマンドレットのDryRunモードにおけるスキップ/パターン判定ロジックの重複を解消しました。シミュレーションと実際のリネーム処理の動作乖離を防止します。 - コード品質: UE5コーディング標準に準拠し、全ソースファイルのインデントをタブに統一しました。
- 新機能: プロジェクト設定に「Source Prefix」設定を追加しました。ユーザーは置換対象のプレフィックスをカスタマイズできるようになります(例:デフォルトの
M_をMM_に変更するなど)。 - 改善: 特定のサフィックスを持たないが、ソースプレフィックスに一致するアセットも正しく処理されるようにリネームロジックを改善しました(例:ソースプレフィックスが
MM_の場合、MM_Floorは正しくMI_Floorにリネームされます)。
- 新機能: コマンドライン経由でバッチリネームを実行するためのコマンドレットを追加しました。
-Path、-Prefix、-DryRun引数をサポートしています。使用法:UnrealEditor-Cmd.exe <ProjectFile> -run=MaterialInstanceRenamer -Path="/Game/TargetFolder" -Prefix="MI_".
- 新機能: 「アセット作成時の自動リネーム」機能を追加しました。これは、マテリアルインスタンスが作成されると同時に自動でリネームを行う機能です。デフォルトでは無効ですが、プロジェクト設定または「ツール」メニューから有効にできます。
- バグ修正: UIの登録タイミング、ローカライゼーション、非推奨APIの使用に関連する複数のクラッシュとコンパイルエラーを修正しました。プラグインの安定性が向上しました。
- 新機能: 「プロジェクト設定」>「プラグイン」>「Material Instance Renamer」から、リネームに使用するプレフィックスをカスタマイズできる機能を追加しました。デフォルトは
MI_です。 - 改善: 設定されたプレフィックスに応じて、UIとリネーム処理が動的に更新されるようになりました。また、明確化のためにコンテキストメニューのラベルにも現在のプレフィックスが表示されます。
- リファクタリング: アセットのユニーク名を生成するロジックを、独自実装からエンジン標準のIAssetTools::CreateUniqueAssetName関数に置き換えました。これにより、処理の安定性とメンテナンス性が向上しました。
- コード整理: その他、全体的なコード品質を向上させるための軽微なリファクタリングを実施しました。
- UIの改善: 一括リネーム機能を、見つけやすくするために「ツール」メニュー配下に専用の「MaterialInstanceRenamer」セクションを設けて移動しました。
- 互換性: Unreal Engine 5.5に対応しました。