Software Engineer || (plugin and libraries)
Summary
Software Engineer II building the reusable plugins, SDKs and shared libraries that Liquidnitro Games' Unity and Unreal mobile projects depend on — including native Android/iOS interop layers, API versioning, packaging via UPM/.unitypackage/Unreal plugins, plus docs and tests for consuming teams.
Software Engineer II - Client
About Us
Liquidnitro Games is India’s flagship live
services and game production company, founded by industry veterans with a
proven track record in producing massively successful games & live
services. For game companies, studios and publishers worldwide – we offer world
class game development expertise to power creativity, growth and profitability
in their games.
What’s in it?
We’re looking for a highly talented and
dedicated Software Engineer/Programmer who is passionate about developing
software systems for games. As a software engineer you will be building the
plugins, SDKs and shared libraries that our Unity and Unreal projects are built
on, working in small teams that work closely together to create reusable,
well-documented solutions that other engineers depend on every day. You will
work closely with the engineering lead to plan and streamline how these
libraries are built and rolled out, and will provide technical expertise,
establishing best practices, and driving innovation within the team.
Responsibilities:
● Collaboratively working with
other developers, artists, designers and the rest of the team to deliver
well-architected and high-quality cross-platform mobile solutions.
● Design, build and maintain
reusable plugins, SDKs and libraries for Unity and/or Unreal, including the
native Android and iOS layers behind them.
● Own the public API surface of
what you ship — versioning, backward compatibility, deprecation paths and
upgrade guides for the teams consuming it.
● Package and distribute
libraries through UPM, .unitypackage or Unreal plugin formats, and keep them
building cleanly across the engine versions our projects use.
● Diagnose and resolve the
problems specific to library work: dependency and symbol conflicts, engine and
OS version fragmentation, build and link failures, and lifecycle or threading
mismatches between engine and native code.
● Write and maintain sample
projects, integration documentation and automated tests so teams can adopt your
libraries without hand-holding.
● Collaborate closely with the
cross functional game development teams to execute on the roadmap/vision of our
games.
● Estimate engineering effort
during multiple stages of product life cycle.
● Responsible for end-to-end
development architecture, thus ensuring the code written to implement the
architecture and design meets the highest standards regarding code quality and
efficiency.
● Stay up to date with the latest
industry trends, tools, and techniques, and evaluate their potential
application in the game development process.
● Take part in regular code and
design reviews to maintain consistency across the project.
● Work closely with the
engineering lead to scope, sequence and streamline library development, and to
keep what you build aligned with the needs of the consuming project teams.
● Actively use and refine
AI-assisted workflows — code generation, review, test authoring, documentation
and tooling — and share what demonstrably works with the team.
Plugin &
Library Development:
This role exists because libraries fail in
ways that game code does not. We want someone who has already run into these
problems and has opinions about them:
● Designing a small, clean API
surface and keeping it stable as the number of consumers grows.
● Semantic versioning and
managing breaking changes across multiple live projects sitting on different
engine versions.
● Native interop — JNI and
Objective-C/Swift bridging, marshalling, and memory ownership across the
managed/native boundary.
● Dependency and transitive
dependency conflicts: Gradle/AAR collisions, duplicate symbols, CocoaPods and
Swift Package version pinning.
● Build system integration:
Gradle templates, Xcode post-process build steps, Unreal .Build.cs and .uplugin
configuration.
● Threading and lifecycle
correctness — main-thread marshalling, application pause/resume, and background
callbacks re-entering managed code.
● Debugging failures inside a
consumer’s project that you cannot reproduce locally: logging strategy,
symbolication and crash triage.
● Binary size, startup cost, and
the implications of code stripping, IL2CPP or equivalent on what you ship.
● Keeping up with editor tooling
changes and first-party SDK and policy churn without breaking downstream
projects.
Requirements:
● Bachelor’s or Master’s degree
in Computer Science, Engineering, or a related field.
● 4+ years of experience in
game/application development for mobile platforms (Android and iOS) using Unity
and/or Unreal.
● Demonstrable experience
building and shipping plugins, SDKs or shared libraries that were consumed by
other teams or external partners.
● Strong C++ and C# skills, with
solid architectural and software engineering fundamentals.
● Hands-on native platform
development in at least one of Android (Java/Kotlin, JNI, Gradle) or iOS
(Objective-C/Swift, Xcode build phases, CocoaPods).
● Knowledge of common data
structures and algorithmic solutions.
● Experience with profiling and
debugging mobile applications.
● Understanding of Crashlytics
and Google Play console.
● Understanding of mobile
application development guidelines defined by first parties (Apple and Google).
● Familiarity with source
control, CI and automated build pipelines for producing and publishing library
artifacts.
● Excellent written, verbal
communication skills and critical thinking skills — for this role,
documentation is part of the deliverable.
● A genuine passion for gaming
and a deep understanding of the gaming industry.
● Demonstrated interest or
hands-on experience with AI-assisted development workflows (Copilot, Claude,
Cursor or similar), and the ability to adapt AI tools into day-to-day workflows
to improve productivity — including judgement about where they help, where they
do not, and how to review their output critically.
Good to Have:
● Shipped titles live on Android
or iOS.
● Gameplay systems experience —
Finite State Machines, Behaviour Trees, animation or physics integration.
● Editor tooling: custom
inspectors, importers or build automation in Unity or Unreal.
● Rendering awareness — shaders,
batching, draw call and overdraw budgets.
● Integrating third-party game
SDKs such as analytics, ads, IAP or attribution.
● Performance work on low-end
devices: memory budgets, GC pressure and frame pacing.
● Open-source contributions or a
published package used by others.