Kinder Champ bridges physical pen-and-paper creativity with digital spatial computing for young learners. Children follow interactive, stroke-guided tracing tutorials to sketch letters, numbers, and animals on physical paper before capturing their work using the mobile camera. In real-time, the engine validates drawing contours, awards coins, and materializes the hand-drawn artwork as a fully animated 3D character anchored directly onto the page within a lush tabletop diorama. The experience combines educational penmanship drills with high-stakes tactile delight through customizable mascot spellcasting, continuous confetti fountains, and AR photography modes.

Bridging physical handwriting fine-motor skills with real-time spatial computing on low-to-mid-tier consumer mobile hardware.


Problem: Vuforia’s raw homography calculations suffered from micro-jitter and false angular shifts when orbiting the camera around physical drawings. Furthermore, falling into Vuforia's EXTENDED_TRACKED state caused virtual content to drift across the room whenever the drawing was partially occluded or viewed from steep glancing angles. Solution: Implemented RuntimeTargetTracker.cs to completely decouple the AR diorama root (ARContentRoot) from Vuforia's trackable target transform. Added camera-motion velocity gating (freezing model updates when camera translation exceeds 0.12 m/s or angular speed exceeds 20°/s), spatial deadbands (3.5 cm / 6°), and discarded EXTENDED_TRACKED updates to lock the model into a rock-solid world anchor.
Problem: Dynamically instantiating Vuforia image targets from live camera frames produced visible frame drops during texture allocation and occasionally solved inverted homography matrices where models spawned upside-down underneath the table. Re-acquiring lost targets also introduced jarring 1-frame transform pops that broke visual immersion. Solution: Engineered a 1:1 center-square texture cropping pipeline in CameraCapture.cs to eliminate optical distortion before passing textures to ObserverFactory.CreateImageTarget. Integrated an inverted-pose detection guard in RuntimeImageTargetManager.cs using a surface-normal dot product check (Vector3.Dot(up, Vector3.up) < -0.1f) to auto-correct flips, combined with Vector3.SmoothDamp and Quaternion.Slerp convergence filters during re-acquisition.
Problem: Spawning arbitrary 3D models (ranging from small alphanumeric characters to multi-mesh rigged animals) with a consistent ground-rise dissolve effect required tedious manual bounding configuration. Additionally, running SkinnedMeshRenderer matrix transformations while interpolating shader properties caused GPU pipeline stalls on mobile chipsets. Solution: Created DissolveSpawnController.cs featuring an automated multi-renderer bounds encapsulation algorithm (AutoCalculateModelBounds) that dynamically calculates optimal start/end dissolve slice planes and ground rise heights. Suspended child Animator updates during the dissolve sequence to eliminate skeletal transform overhead, re-enabling animations only upon reaching 100% visibility.
Problem: Hardcoding intro character behaviors, spell projectiles, and ring VFX inside monolithic AR managers made adding new monetization sequences risky and difficult to maintain. Solution: Built an extensible strategy-pattern architecture utilizing ICharacterAppearStrategy.cs and SpawnSequenceSO.cs, driven by the centralized SpawnSequencePlayer.cs. This allowed designers to plug in 10 unique, IAP-ready spawn animations (e.g., instant, scale-up, pop-bounce, dissolve-in) with custom ballistic arcs, particle systems, and orbiting dances without modifying core AR tracking logic.
Core Architecture (Decoupled & Event-Driven): The application is structured around a decoupled, Event-Driven Architecture initialized through a persistent composition root (AppBootstrapper.cs) and a global EventBus.cs. Game flow, asynchronous drawing validation (IDrawingValidator.cs), and local JSON save persistence (ISaveService.cs) communicate purely via strongly typed C# actions and interfaces, isolating UI presenters from AR tracking lifecycles.
Mobile Optimization Strategy: Mobile draw calls were kept below 65 by standardizing on low-poly geometry sharing unified URP texture atlases with GPU instancing enabled. Runtime garbage collection was eliminated in update loops by caching material property IDs via Shader.PropertyToID, pooling particle systems, avoiding LINQ queries in per-frame execution, and using DOTween Catmull-Rom spline path caching for finger-tracing tutorials (TutorialAnimator.cs).
Zero-Drift Motion-Gated Spatial Anchoring: Motion-velocity gating (RuntimeTargetTracker.cs) freezes transform updates during quick hand movements, while Catmull-Rom spline guided tracing overlays and asynchronous contour validation reward young learners with tactile coin animations and interactive 3D character reveals.
Low-Poly Stylized 3D with Custom URP Shaders: Unified low-poly art direction with custom URP dissolve and ground-rise shaders. Dynamic multi-renderer bounds encapsulation (DissolveSpawnController.cs) powers synchronized visual transitions across varied mascot scales without manual tuning.


Structured milestone sprints from core game loop validation to production-ready multi-platform release.
Engineered 1:1 center-square texture cropping in CameraCapture.cs (<40ms latency), runtime image target synthesis, and normal dot product inverted-pose guards in RuntimeImageTargetManager.cs.
Implemented RuntimeTargetTracker.cs with camera velocity gating (0.12 m/s / 20°/s), spatial deadbands (3.5 cm / 6°), and discarded EXTENDED_TRACKED drift.
Built DissolveSpawnController.cs auto-bounds encapsulation, suspended skeletal animators during dissolve, and plugged in 10 strategy-pattern IAP spawn sequences via SpawnSequencePlayer.cs.
Implemented arithmetic parental challenge locks, offline JSON save persistence (ISaveService.cs), HUD-free gallery photo export, and COPPA data compliance audits.
Delivered a rock-solid, zero-drift Augmented Reality drawing experience running at a sustained 60 FPS across mid- and low-tier Android and iOS hardware.
Created a modular, data-driven spawn and progression ecosystem supporting 10 IAP-ready spawn sequences, pet companions, accessories, and automated tracing tutorials.
Implemented a secure, COPPA-compliant educational environment featuring parental arithmetic gates, offline JSON data management, and frictionless AR screenshot capture.