Senior Unity Developer
The role
We're looking for a senior Unity developer who can own the entire Unity platform layer of our product. You'll be building the Digitoys Loader — the core runtime system that fetches, assembles, and renders our 3D characters and items across mobile (iOS/Android via Flutter) and web (WebGL via React). This isn't a gameplay role. This is a platform engineering role. You're building the engine that every game, experience, and interactive feature in the Digitoys ecosystem will be built on top of.
You'll work alongside a small team: a Unity artist handling visual direction, shaders, and scene composition; a backend engineer handling APIs, databases, and blockchain integration; and a Flutter studio building the mobile app shell. You are the connective tissue between all of them on the Unity side.
We operate with AI-assisted development as a core part of our workflow. Experience with Claude Code, Cursor, Copilot, or similar AI coding tools is a strong plus. We're a team of six building what would normally require twenty — AI fluency is how we close that gap.
What you'll build
The Digitoys Loader (core priority)
This is the foundation everything else is built on. The loader is a Unity-based system that:
- Fetches character and item assets from S3 using Unity's Addressables system
- Assembles multi-part characters at runtime — combining a base character with equipped items, costumes, wearables, and effects into a single rendered entity
- Manages memory efficiently, loading and unloading assets on demand so the app stays performant on devices as old as iPhone 11
- Handles the addressable catalog — building, hosting, and versioning the JSON manifests that map addressable keys to remote asset URLs
- Supports two build targets from a shared codebase: URP for mobile (higher fidelity) and WebGL for web (optimized for browser constraints)
- Provides a clean API so the Flutter app (via flutter_unity_widget bridge) and the React website can trigger loading, viewing, and interaction without knowing Unity internals
Character and item system
- Character selection, equipping, and visual composition — a user selects a character, equips a costume or wearable, and sees the assembled result in real-time
- Runtime prefab composition — loading a character prefab, an item prefab, and an effect prefab, then combining them correctly based on attachment points and body part mappings
Bridge communication
- Maintain and extend the Unity-side of the communication bridge between Unity and Flutter (mobile) and Unity and React (web)
- Send and receive JSON-formatted messages for events
- Ensure the bridge is standardized so new experiences can be added without rewriting communication logic each time
What we’re building
Interactive experiences
- 3D toy viewer — spin, zoom, and inspect characters with fluid touch/mouse controls, binary dust particle effects, and subtle procedural idle animations
- Unboxing experience — interactive gachapon opening with reveal animations, particle effects, and haptic triggers sent through the Flutter/React bridge
- Eventually: AR placement using Unity AR Foundation (ARKit + ARCore), wardrobe/photo booth features, and the controller/camera systems that third-party game studios would build levels on top of
- Digitoys Loader - a platform for game experiences built on our character library, loading and outfitting characters, animations, controllers, and cameras
What we're looking for
Must have:
- 5+ years of professional Unity development with shipped products on mobile (iOS and/or Android)
- Deep experience with Unity's Addressables system — building, configuring, hosting catalogs, remote asset loading, caching, and memory management
- Strong C# skills and comfort working across Unity editor scripting, runtime code, and custom tooling
- Experience building asset pipelines — taking art assets from artists and getting them into a runtime-ready state with proper optimization, LODs, texture compression, and platform-specific variants
- Experience with Unity's Universal Render Pipeline (URP) and an understanding of the differences between URP and WebGL rendering constraints
- Comfort working in a small team where you own the entire Unity stack — there's no Unity team to delegate to, you are the Unity team
- Ability to communicate clearly with non-Unity team members (Flutter developers, backend engineers, artists, product leads) about what's possible, what's hard, and what the tradeoffs are
Strong plus:
- Experience with flutter_unity_widget or embedding Unity as a library inside a non-Unity mobile app
- Experience with Unity AR Foundation (ARKit/ARCore)
- Experience building character customization systems, avatar builders, or modular prefab composition
- Familiarity with AI-assisted development tools (Claude Code, Cursor, Copilot) — we use these heavily and a developer who can delegate routine tasks to AI while focusing on architecture decisions will move significantly faster
- Experience working with licensed IP and understanding the constraints that come with it (brand guidelines, approval processes, restricted character usage)
- Experience building SDKs or loaders designed for third-party developers to build on top of
- WebGL optimization experience — shader compilation, asset size reduction, load time management for browser-based Unity experiences
Nice to have:
- Experience with haptic feedback implementation in Unity on mobile (iOS Core Haptics, Android vibration APIs)
- Shader programming (ShaderLab, HLSL) for custom visual effects
- Animation systems — both procedural (code-driven) and Mecanim/Animator controller setup
- Experience with particle systems for visual effects (binary dust, auras, sparkles, reveal animations)
- Familiarity with NFC, UWB, or proximity-based interactions on mobile