Решили: сборки из 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 (условие подписки).