public static Transform activeTransform ;

Description

Returns the active transform. (The one shown in the inspector).

This will never return Prefabs or non-modifiyable objects.

using UnityEngine;
using UnityEditor;

class Example : EditorWindow { class SelectionActiveTransform : ScriptableObject { [MenuItem("Example/Duplicate at Origin _d")] static void DuplicateSelected() { Instantiate(Selection.activeTransform, Vector3.zero, Quaternion.identity); } }

//The menu item will be disabled if nothing, is selected. [MenuItem("Example/Duplicate at Origin _d", true)] static bool ValidateSelection() { return Selection.activeTransform != null; } }