Senior Unity Developer (C#)
Ищем Senior Unity-разработчика для пошаговой тактической игры на WebGL и Telegram Mini App. Нужен опыт с C#, сетевым мультиплеером и оптимизацией WebGL. В проекте — сложные игровые механики, PvP-синхронизация и рефакторинг кодовой базы. Предлагают удалённую работу и интересные задачи.
Зарплата не указана — оценили по рынку
На основе 688 похожих вакансий за 90 дней.
Что предстоит делать
Навыки: C#, ООП, Алгоритмы и структуры данных, REST. Квалификация: Senior. Специализации: Разработчик игр. *PvE / PvP пошаговая тактическая игра «***Empire's Battle Combat Arena***»* **О проекте** **«Empire's Battle Combat Arena» — пошаговая тактическая 2D-игра на клеточной сетке с режимами PvE (одиночные бои, боссы, бесконечное подземелье) и PvP (бои между игроками). Проект собирается под ****WebGL**** и интегрирован как ****Telegram Mini App****: Unity-клиент работает внутри React-обёртки и обменивается с ней сообщениями через JavaScript-мост (`Application.ExternalEval`, кастомный `SocketUtility`).** **Ключевые характеристики кодовой базы:** - **Размер:** ~42 000 строк C# в 280+ файлах, активная разработка, есть техдолг (крупные классы по 1500–2100 строк, требующие декомпозиции). - **Контент:** 17+ играбельных героев со сложными активными и пассивными скиллами, 5+ уникальных боссов, система реликвий, зелий, баффов, кланов и сезонных ивентов (Halloween, New Year, Flooded Lands). - **Архитектура:** иерархия стейт-машин (глобальная игровая + отдельная боевая), сервисный слой через интерфейсы, фабрики, ScriptableObject-настройки, Addressables-подгрузка ассетов. - **Сеть:** REST через **Best HTTP**, синхронизация PvP-ходов через WebSocket-мост (mirror-action протокол), кастомный анти-чит на P2P-консенсусе с детерминированным ГСЧ и nonce-защитой. **Технологический стек** **Категория** **Технологии** Движок и пайплайн Unity 2022.x LTS, Universal Render Pipeline (URP) 14, 2D Sprite/Tilemap, Post-processing Платформа сборки WebGL (как Telegram Mini App), интероп с React через Application.ExternalEval Асинхронность UniTask (Cysharp.Threading.Tasks), корутины, async/await Сетевой слой Best HTTP/2, кастомный JS-bridge поверх WebSocket, REST API, Newtonsoft.Json, SimpleJSON Загрузка контента Unity Addressables 1.21, AssetReferenceGameObject, асинхронная инициализация UI uGUI, TextMesh Pro, Unity Localization, UI Extensions, кастомные радар-чарты Инструменты в редакторе Odin Inspector (Sirenix) — широко используется по всей кодовой базе, NuGetForUnity, Toolbar Extender Монетизация и аналитика Unity IAP 4.11, Unity Ads 4.4, Unity Analytics, кастомный сервер логирования ошибок Контроль версий GitLab (корпоративный), классическая Git-флоу-модель **Требования к кандидату** **Уровень и опыт** **Целевой уровень — ****Middle+ / Senior Unity Developer****. Минимум ****3 года**** коммерческого опыта на Unity, из них не менее ****1 года**** на одном продакшен-проекте средней или крупной кодовой базы (от 30k+ строк C#).** - Опыт сборки и оптимизации проектов под **WebGL** (вес билда, прогрев Addressables, ограничения памяти, `[DllImport(\"__Internal\")]`, `Application.ExternalEval`) — критичен. - Опыт с **сетевым мультиплеером с детерминированной логикой** (ходовая синхронизация, lockstep / mirror-action, fixed-point или deterministic random). - Опыт с **Telegram Mini Apps / WebApp SDK** или аналогичной интеграцией Unity-клиента в веб-обёртку — большое преимущество. **Обязательные технические навыки** - **C# на уровне выше среднего:** делегаты и события, generics, LINQ, async/await, понимание GC и аллокаций в Unity-контексте. - **Unity API:** Addressables, корутины, UniTask, ScriptableObject как контентные конфиги, MonoBehaviour-жизненный цикл, Animator, Particle System, 2D Sprite Renderer. - **Архитектурные паттерны:** State Machine (в проекте две вложенные иерархии состояний — обязательно нужно понимать), Observer/Event-driven, Service Locator или DI, MVC/MVP для UI, фабрики. - **Работа с сетью:** REST-клиенты (Best HTTP или UnityWebRequest), сериализация Newtonsoft.Json, обработка ошибок и реконнектов, понимание JWT/Bearer токенов. - **Отладка и профилирование:** Unity Profiler, Memory Profiler, Frame Debugger, отладка WebGL-билдов в браузере (Chrome DevTools, .symbols). - **Git и командная работа в GitLab:** ветки, MR/Code Review, понимание merge-конфликтов, написание адекватных коммит-сообщений. **Желательно** - Опыт работы с Odin Inspector — почти весь проект использует `[FoldoutGroup]`, `[BoxGroup]`, `[ShowIf]` и т.п. - Опыт декомпозиции и рефакторинга крупных монолитных классов (God Object) на сервисы, контроллеры и стейты — в проекте есть несколько таких классов. - Понимание основ криптографии и анти-чит механик: HMAC, nonce, детерминированный RNG, защита от модификации клиента. - Опыт работы с пошаговыми тактическими играми (XCOM-like, Heroes-like, шахматные движки) — будет огромным плюсом для понимания геймплейной логики. - Знание JavaScript/TypeScript на базовом уровне — для отладки React ↔ Unity моста. - Опыт интеграции IAP, рекламы (Unity Ads / AppLovin / IronSource), аналитики. **Soft skills** - Способность читать и понимать чужой код в большой кодовой базе (отдельные файлы по 1500–2000 строк). - Самостоятельность в задачах, умение задавать правильные вопросы — на проекте есть монолитные участки без подробной документации. - Аккуратность при работе с PvP-логикой: любая рассинхронизация клиент/сервер ломает матч. - Готовность к code review (давать и принимать) и работе в Git Flow с обязательными MR. **Задачи на роли** - **Развитие игровых механик:** новые герои, скиллы (активные и пассивные), боссы, типы подземелий, сезонные ивенты — добавление в существующий `SkillRegistry` и систему эффектов. - **Работа с PvP-стейтами** (`PvpPlayerTurnState`, `PvpOpponentTurnState`): синхронизация ходов через mirror-action, обработка реконнектов, расширение анти-чит механик (P2PSecurityManager, P2PConsensusManager). - **Интеграция с бэкендом и Telegram WebApp:** работа с `TelegramAuthorizationProvider`, `TelegramProvider`, новый Game API, обработка событий жизненного цикла боя. - **Оптимизация WebGL-билда:** размер, время загрузки, потребление памяти, профилировка GC, корректная работа Addressables в браузере. - **Рефакторинг и снижение техдолга:** декомпозиция классов уровня `Hero.cs` (~2000 строк) и состояний боя (~1500–2000 строк) на более узкие компоненты, выделение сервисов. - **UI-фичи:** доработка боевого HUD, экранов выбора героев, инвентаря зелий и реликвий, локализация интерфейса. - **Поддержка билд-пайплайна и CI:** сборка через GitLab CI, автодеплой WebGL-билдов в Telegram-окружение. - **Code review** MR коллег, поддержание стиля и архитектурных конвенций проекта. **Процесс отбора** - **Скрининг резюме** — релевантный опыт Unity + WebGL + сетевой код. - **Техническое интервью (60–90 мин):** C#, архитектура Unity, стейт-машины, обсуждение реального кейса с PvP-синхронизацией. - **Тестовое задание** (по согласованию): небольшая фича на клеточной сетке с двумя стейтами хода или ревью предоставленного фрагмента кода с предложениями по рефакторингу. **Как откликнуться** **Пришлите резюме, ссылку на GitHub/GitLab/портфолио и краткое сопроводительное письмо: какой проект на Unity вы считаете своей самой сильной работой и почему. Бонусом — любые материалы по проектам с пошаговой тактикой, мультиплеером или WebGL-сборкой.**
Стек и инструменты
Подходит ли вам эта вакансия?
Зарегистрируйтесь и загрузите резюме — посчитаем % совпадения с этой вакансией, подсветим сильные стороны и что стоит подтянуть
Похожие вакансии
6 вакансий
Универсальный разработчик (C# / .NET, Python, JavaScript)
~1 326 000 – 1 590 258 ₸ оценка
Ищем опытного разработчика (middle+/senior) для работы в продуктовой лаборатории IT-компании. Нужно разрабатывать фичи и сервисы с нуля, используя C#/.NET, Python и JavaScript, а также AI-инструменты для ускорения. Предлагают реальное влияние на продукт, современный стек и сильную команду.
.NET разработчик
~1 326 000 – 1 590 258 ₸ оценка
Ищем опытного .NET разработчика для работы над высоконагруженными проектами. Нужно уверенное знание C#, ASP.NET, MS SQL, опыт с современными технологиями (RabbitMQ, Redis, Docker, Kubernetes). Предлагаем интересные задачи и профессиональный рост.
Backend-разработчик (C# / Java)
~1 326 000 – 1 590 258 ₸ оценка
Разработка и миграция высоконагруженных микросервисов платежной системы на Java и C#. Требуется опыт проектирования архитектуры, работы с Kafka, Redis, RabbitMQ и CI/CD. Предлагают удаленную работу и оформление по ТК РФ.
C# разработчик со знанием GO
~1 326 000 – 1 590 258 ₸ оценка
Команда Авторизации Lamoda Group ищет опытного C# разработчика с глубокими знаниями GO. Вы будете разрабатывать и поддерживать сервисы для информационной безопасности, авторизации и аутентификации, используя современные технологии. От вас ждут уверенного опыта коммерческой разработки на GO от 3 лет и знания .NET, а также навыков работы с микросервисами и брокерами сообщений.
Senior .NET Backend Developer
~1 326 000 – 1 590 258 ₸ оценка
Senior .NET Backend Developer в компанию-разработчика САПР. Нужно разрабатывать микросервисную систему управления проектами на .NET 10, проектировать REST API и работать с RabbitMQ. Требуется уверенное знание C#, ASP.NET Core, PostgreSQL и Docker. Предлагают гибридный график, ДМС и работу в дружном коллективе.
C#/.NET-разработчик
~1 326 000 – 1 590 258 ₸ оценка
Ищем опытного C#/.NET-разработчика для создания микросервисных приложений с нуля до продакшена. Требуется глубокое знание SQL, опыт с Docker, Kafka/RabbitMQ и REST API. Компания предлагает стабильную работу, белую зарплату и соцпакет.