Unity generalist, production focused

Broad enough to own the problem

My value is not a long list of isolated technologies. It is the ability to cross the boundaries that appear in real Unity products while keeping responsibilities explicit, testable and maintainable.

01 / Runtime

Gameplay, simulation & game AI

Gameplay systems

Interaction loops, inventory, skills, narrative events, progression, input and UI architecture.

NPC behavior

State machines, steering, decision logic, observable shared state and behavior that can be debugged during production.

Physics & simulation

Runtime constraints, physical interactions, custom integrations, performance-sensitive simulation and deterministic reasoning where required.

Animation & presentation

Animation state, IK, avatar expression, lip sync, rendering pipelines, shaders and synchronized feedback.

02 / Platforms

VR/XR, WebGL, desktop & mobile

XR interaction

OpenXR, XR Interaction Toolkit, Meta Quest passthrough, hand tracking, controller/hand switching, locomotion, spatial UI and headset lifecycle.

WebGL delivery

Browser launch and authentication bridges, memory limits, streamed assets/audio, focus lifecycle and JavaScript integration.

Platform architecture

Input, services, UI and persistence expressed through clear strategies rather than platform checks spread across gameplay code.

Porting

WebGL ↔ VR and broader cross-platform adaptation across interaction, assets, performance, services and validation.

03 / Production

Performance, diagnostics & editor tools

Profiling and optimization

CPU, GPU, memory, rendering, assets, loading and platform-specific investigation driven by captures and target budgets.

Runtime observability

Structured logs, state inspection, failure boundaries and diagnostics that shorten the path from report to root cause.

Editor tooling

Custom windows, node workflows, content validation and authoring tools designed around the people who operate them.

Codebase ownership

Architecture mapping, incremental refactoring, risk prioritization, documentation, review and stabilization without reflexive rewrites.

04 / Connected product

Networking, services & full-stack integration

Multiplayer

Unity Netcode, Mirror, client-server state, real-time sessions and gameplay integration.

Real-time transports

REST, WebSockets and SSE for state, streamed media and long-running product interactions.

Authentication and data

Secure launch/session flows, quotas, subscriptions, persistence and database-backed operational tools.

Web product layer

TypeScript, Node/Express, Next.js, Prisma and PostgreSQL when Unity is one part of a larger product system.

05 / AI in the product

LLM, speech & interactive characters

LLM integration

Streamed conversational responses, conversation state, runtime context and coordination with character behaviour. Product integration, distinct from traditional NPC decision logic.

Text-to-speech & speech-to-text

TTS/STT providers, microphone capture, streamed playback, interruption and browser/native implementations.

Lifecycle and reliability

Async cancellation, session ownership, stale-response handling, failure recovery and coordination between text, voice and presentation.

Character presentation

Animation, IK, physics-driven reactions, camera behaviour and authoring tools alongside connected services.

Read about reliable LLM and speech integration

Engineering workflow

AI-assisted, human-owned

I use coding agents extensively for codebase exploration, task planning, implementation, debugging and refactoring. I maintain repository instructions and focused context, break work into reviewable changes, and assess generated output through code review and automated validation.

In Unity, a compiling script is only part of the result: authored assets, lifecycle behaviour and the target device also need verification. I retain responsibility for architecture and delivery.

How I use coding agents in Unity engineering

A generalist with boundaries

Have a Unity problem that does not fit one job title?

That is often where I am most useful. Send the real problem, not a filtered technology list.