通常、Unityに同じ名前のファイルをドラッグ&ドロップしたとしても新しいファイルが作られてしまい、上書きはできません。そのため、metaファイルの内容を維持したままファイルの上書きをするのにMacのFinderやWindowsのExplorerを利用している方も多いのではないでしょうか。今回、新しいファイルで置き換えるか両方とも残すか選べるようにする拡張を作成したので紹介します。新しいファイルが作成されてしまうこと自体は防ぐことができません。1.png」というファイルが作られます。このように後ろに番号が付いたファイルが追加されたか調べることで、上書きを実現している拡張は今までも存在しました。対応できないケースがあります。問題は既にナンバリングが振られているファイル群だ。このナンバリングを付与する仕組みは、ファイル末尾にナンバーが振られている場合はナンバーを増やしてコピーしてしまう。なると、item2を追加したのか、追加したら2になったのか判断ができない為、上書きコピーする事ができない。テラシュールブログから引用ファイルの中身を比較する上記の問題に対応するため、AssetPostprocessorを利用し新しく作成されたファイルの中身と、ドラッグ&ドロップしたファイルの中身を比較して、一致していたら「中身が同じなのに別の名前でインポートされた」と判断するようにしました。これによって、どのように番号が振られたとしても対応することができます。上書きを実行した場合はUnityによって追加されたファイルは削除します。複数ファイルのドラッグ&ドロップにも対応しています。他にAssetPostprocessorを利用している場合Overwriterによってファイルが削除された後、他のPostprocessorが作動することがあります。その場合、処理対象のファイルが存在するかどうか調べてから処理しないとエラーになります。プレハブは未対応NestedPrefabの影響かと思われますが、インポートが終わらなくなる問題があるため除外しています。同じ名前のフォルダごとインポートしたら中身を全て上書き...という機能はありません。中身を全て選択してインポートして下さい。同じ内容のファイルを同時にインポートできないファイルの中身を比較している関係上、全く同じ内容のファイルを一度に2つ以上インポートしようとすると上書きは動作しません。インポートしようとした場合はこのように拡張が停止するメッセージが出るため、そのままインポートを実行すれば新しくファイルが作られます。そもそも同じ内容のファイルを複数インポートすること自体、アセットを使いまわしてデータを削減する考え方に反しているので気にしないことにしています。同時にインポートしようとした場合なので、1つずつインポートすれば上書きも可能です。アマガミナブログUnityエンジニア天神いなスマートフォンゲーム会社で新作ゲーム開発のリードエンジニアをしながら個人ゲームの開発もしています。当サイトでは、UnityやC#、シェーダなどゲーム開発の技術的なことを扱ったり、自作ツールの紹介などをしています。