Вы можете взглянуть на мой ответ здесь .Я написал скрипт, который может захватывать любое окно, которое в данный момент находится в фокусе.
Вы можете легко применить его, чтобы всегда сделать GameView
захваченным окном.Например, используя такое отражение ( источник )
public static EditorWindow GetMainGameView()
{
var assembly = typeof(EditorWindow).Assembly;
var type = assembly.GetType("UnityEditor.GameView");
var gameview = EditorWindow.GetWindow(type);
return gameview;
}
и заменив
var activeWindow = EditorWindow.focusedWindow;
на
var activeWindow = EditorWindow.GetMainGameView();
Обратите внимание, чтоэто откроет новое окно GameView
, если его там еще не было.