Что-то у всех мания сложности изобретать))
using UnityEngine;
public class DragTest : MonoBehaviour
{
public Rect pos = new Rect(20,20,200,200);
private bool _drag = false;
public void OnGUI()
{
GUI.Box(pos, "Тащи меня");
var evtType = Event.current.type;
var mousePos = Event.current.mousePosition;
if (evtType == EventType.MouseDown && pos.Contains(mousePos))
{
_drag = true;
}
else if (evtType == EventType.MouseUp && pos.Contains(mousePos))
{
_drag = false;
}
else if (evtType == EventType.MouseDrag && _drag)
{
pos.x += Event.current.delta.x;
pos.y += Event.current.delta.y;
}
}
}