Перейти к содержимому
← Проекты

XiloOVR

Безоконный SteamVR-оверлей на запястье на C#: чеклист лута, лазерный ввод, чат Twitch и YouTube — не трогая игру.

Год
2026
Статус
В разработке
Тип
Утилита · Open source
Стек
C# · .NET 8 · OpenVR · GDI+
Ссылки
GitHub
Рантайм
.NET 8, один самодостаточный exe
Отрисовка
GDI+ в пиксельный буфер, raw-оверлей
База предметов
1400+ предметов в 18 категориях

checklist.json

{
  "entries": [
    { "itemId": "valuable.task.ark_floppydisk", "needed": 1, "collected": 0 },
    { "itemId": "valuable.task.johnny_drill", "needed": 3, "collected": 1 }
  ]
}
Активный чеклист — обычный JSON-файл: правишь на десктопе, панель на запястье перезагружается.

Что делает

Небольшая панель, прикреплённая к контроллеру в SteamVR — в стиле LIV или OVR Toolkit — для Contractors Showdown: ExfilZone. Показывает чеклист лута и квестовых предметов со счётчиками «собрано/нужно», чтобы проверять, чего ещё не хватает, не открывая меню игры. Указываешь свободной рукой: видимый лазерный луч, триггер добавляет единицу, grip убирает; ячейка «плюс» открывает поиск предмета на VR-клавиатуре по базе из 1400+ предметов с иконками. На той же панели — чат Twitch (с ответами, набранными прямо в VR), live-чат YouTube в общей ленте и баннеры о сабах, рейдах и фолловах. Настройки живут во вкладке дашборда SteamVR, а один переключатель регистрирует приложение в собственном списке автозапуска SteamVR.

Как устроено

C# на .NET 8, общается с OpenVR напрямую через официальный C#-биндинг Valve — без Unity и игрового движка. Панель рисуется GDI+ в пиксельный буфер и отправляется в композитор как raw-оверлей, поэтому всё приложение — один самодостаточный исполняемый файл с иконкой в трее и без окон. Наведение — собственный hit-testing поверх API пересечения оверлея; крепление к запястью само восстанавливается после переподключения контроллера и смены сцены. Конфиг, чеклист и база предметов — обычные JSON-файлы, за которыми приложение следит и перезагружает на лету: правишь на десктопе, панель меняется. Чат Twitch по умолчанию читается через анонимный IRC, так что для чтения не нужен логин. Код кросс-компилируется с macOS; каждый push в main собирает скачиваемый артефакт для Windows.

  • Принципиально вне рамок: чтение памяти, инъекция DLL, разбор трафика, OCR — приложение ничего не знает о запущенной игре
  • Данные о предметах генерируются из игровых данных, извлечённых contractors-data; иконки — из community-проекта exfil-zone-assistant (MIT)