Lead Unity Engineer
About Lila Games:
Lila Games strives to build a world-class engineering team (eventually) that can compete with the best in the world. We are a long way from that ambition, but we hope to find others to help us build this team from Bangalore, India. Built in India, published to the world.
More information about Lila: https://tr.ee/7DD-CnUfci
Why This Role Exists:
We have a talented but young engineering team that has accumulated meaningful technical debt. We need a Lead Unity Engineer who can hold two things simultaneously – and be clear-eyed about the tension between them:
- Fix the foundation: refactor the codebase, introduce engineering discipline, and reduce the risk that technical debt costs us the launch.
- Ship the game: maintain development velocity and hit our soft launch milestones.
You will not be handed a clean codebase. You will be handed a real one, with real problems and real stakes. If that excites rather than discourages you, this role is for you.
What You Will Own:
- Own performance as a first-class concern. Run the profiler before features ship, not after performance is already bad. Every PR that touches gameplay, rendering, or memory should come with a profiler pass. On mobile, this is a non-negotiable engineering habit, not an occasional task.
- Build for liveops operability from day one. Every feature you ship should be operable without engineering involvement after launch. Designers should be able to adjust weapon balance, drop rates, event timing, and economy levers through config or dashboards – not by filing engineering tickets. Think about who operates what you build, not just whether it works on launch day.
- Establish and enforce engineering standards: code reviews, clean architecture, SOLID principles, and documentation – not as academic exercises but because a mobile live-ops game is a codebase your team will modify thousands of times post-launch. Bad structure makes hotfixes dangerous and kills your ability to iterate quickly.
- Build testable systems, not just tested systems. Pure logic – economy calculations, matchmaking, config parsing, anything that does not touch the engine – should be unit tested. Gameplay systems should be designed so their logic can be validated without running the full game. You do not need TDD dogma everywhere, but you must know what to test, what not to test, and how to architect so testing is possible.
- Lead and mentor the engineering team in Bangalore. Most engineers have not received structured technical feedback. Code review is your primary mentorship tool – specific, technical, and instructive. Your goal is to raise the floor of every engineer around you.
- Address inherited technical debt systematically: god class decomposition, async error handling, dependency injection hygiene, and event/signal system clarity. Work with a plan, not ad hoc.
- Collaborate with product and design to translate feature requirements into well-scoped engineering tasks with realistic estimates.
- Own code quality for the game: compile stability, frame rate targets, memory utilization, and crash rates.
What We Are Looking For:
We care more about depth of skill and quality of thinking than years of experience. Here is what actually matters:
- Performance instincts: you profile as a habit, not a reaction. You understand mobile GPU/CPU constraints, draw call budgets, memory pressure, and garbage collection. You have chased down a frame time regression and know how to prevent the next one.
- Liveops systems thinking: you have worked on a live game and understand what it means to build features that can be tuned, toggled, or updated without a full build. You think about config, feature flags, and content pipelines as engineering concerns, not product team problems.
- Strong engineering fundamentals: you understand SOLID principles and can explain why they matter in the context of a game codebase — specifically, why they make live-ops changes safer and faster, not just cleaner.
- Unity proficiency: hands-on experience shipping a Unity game to production. Comfortable with Unity 6, the profiler, memory snapshots, and the build pipeline.
- Hands-on coder: at least 30% of your time will be in the code. This is not a management-first role.
- Multithreading and async expertise: deep understanding of thread-safe code, async/await patterns, and the specific failure modes of fire-and-forget operations in a live game context.
- Mentorship instinct: you give direct, specific technical feedback. You can explain not just what is wrong but why and how to fix it.
- High agency: you identify problems and propose solutions without waiting to be asked. You own outcomes, not tasks.
Familiarity with Unity DOTS and data-oriented programming is a strong plus. Backend or networking experience is valuable given the multiplayer games that we work on.
What We Are Not Looking For:
- Engineers who equate years of experience with expertise. We have seen too many senior engineers with bad habits and too many sharp 4-year engineers who outperform them.
- People who profile only when performance is already broken. By then it is too late.
- Engineers who build features without thinking about who operates them post-launch. Liveops operability is an engineering responsibility.
- People who prefer to manage from a distance. We need someone in the code.
Application Process:
- Resume Screen: submit your resume. We respond within 3 business days.
- Video Interview: a technical and cultural conversation with our leadership team.
- Written Assessment: a focused technical problem designed to surface how you think, not just what you know.
- Offer: formal offer with compensation details.
- Onboarding: before you sign, you will receive our company values and culture materials.
Please review our company values at https://bit.ly/3rsN1ti before applying. Cultural fit is not a formality here – it is a filter.
