【Unity】【エディタ拡張】コンポーネントのコピペをスクリプトから行う

コンポーネントのContextMenuからコンポーネントをコピペできます。

f:id:halya_11:20181017132136p:plain

この記事ではこれらをスクリプトから実行する方法を紹介します。

方法

UnityEditorInternal.CommandUtilityクラスのメソッドを使うだけです。

UnityEditorInternal.ComponentUtility.CopyComponent();
UnityEditorInternal.ComponentUtility.PasteComponentAsNew();
UnityEditorInternal.ComponentUtility.PasteComponentValues();

UnityEditorInternalのものなのでエディタ上でのみ使えます。

GameObjectのコンポーネントをすべてコピペ

GameObjectにアタッチされているコンポーネントをすべてコピペする方法は下記で紹介されています。

オブジェクトについてる全コンポーネントのコピペ(上書き) · GitHub