Решили: сборки из PlayerBuilder получают свой дефайн GM_DEVTOOLS, и он открывает dev-консоль (F1), лог-консоль (F2) и диагностику за ними. Релизная сборка его не получает — там консоли по-прежнему нет.

Почему не BuildOptions.Development: он тянет водяной знак, автоподключение профайлера и другой профиль производительности. Мы бы тестировали не ту игру, которую собираем, — а тестовая ветка Steam существует ровно для того, чтобы играть в настоящую.

Грабли: консоль была вырезана препроцессором именно из тех сборок, ради которых она нужна. Кооп ломается только на двух машинах, лог оттуда — единственное доказательство; я добавила каналы диагностики, включаемые командой diag net on, и предложила Максу их включить — набрать её было негде. Симптом при этом выглядел как поломка ввода: «не работают F1, F2 и ~, а F3 работает». F3 жив потому, что витрина боёв подписана без условия, а обе консоли стояли под UNITY_EDITOR || DEVELOPMENT_BUILD.

Урок общий: инструмент отладки, доступный только там, где отладка не нужна, — это не инструмент. Прежде чем советовать команду, стоит проверить, есть ли она в той сборке, где её будут набирать.

Владелец правды: EditorTools/Player/PlayerBuilder.cs (DevToolsDefine и его докстринг), UI/UiRootBootstrap.cs (условие подписки).