コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Transform の Inspector のコンテキストメニューに「Copy Component」と「Paste Component Values」を表示するエディタ拡張

ソースコード

using UnityEditor;
using UnityEditorInternal;
using UnityEngine;

namespace Kogane.Internal
{
    internal static class TransformCopyComponentPasteComponentValues
    {
        [MenuItem( "CONTEXT/Transform/Copy Component" )]
        public static void CopyComponent( MenuCommand menuCommand )
        {
            var transform = ( Transform ) menuCommand.context;
            ComponentUtility.CopyComponent( transform );
        }

        [MenuItem( "CONTEXT/Transform/Paste Component Values" )]
        public static void PasteComponentValues( MenuCommand menuCommand )
        {
            var transform = ( Transform ) menuCommand.context;
            ComponentUtility.PasteComponentValues( transform );
        }
    }
}

使用例

現在の Unity では Transform の「Copy Component」と「Paste Component Values」が
コンテキストメニューの「Copy」「Paste」の中に隠されており、
選択するのに少し手間だったのでコンテキストメニューの最初の階層に
「Copy Component」と「Paste Component Values」を表示できるようにしました