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
Engineered for locked 60 FPS mobile performance with peak memory under 120 MB and zero GC allocations during active tracking. Features motion-gated spatial anchoring, 1:1 camera texture downsampling, automated multi-mesh bounds dissolve spawning, and parent-gated monetization.
Implemented RuntimeTargetTracker.cs to decouple the AR content root from raw trackable transforms, freezing updates when camera velocity exceeds 0.12 m/s or 20°/s with 3.5 cm / 6° deadbands and discarding EXTENDED_TRACKED drift.
Engineered 1:1 center-square cropping in CameraCapture.cs (<40 ms latency) and inverted-pose guards in RuntimeImageTargetManager.cs using normal dot checks (Vector3.Dot(up, Vector3.up) < -0.1f) with SmoothDamp and Slerp filters.
Created DissolveSpawnController.cs with AutoCalculateModelBounds for arbitrary 3D models while suspending child Animator updates to eliminate skeletal transform GPU overhead.
Modular architecture using ICharacterAppearStrategy.cs, SpawnSequenceSO.cs, and SpawnSequencePlayer.cs powering 10 distinct IAP-ready spawn sequences.
How our team bypassed complex bottlenecks to achieve smooth frame execution and frictionless player retention.
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.
Built a decoupled Model-View-Controller architecture with cached transform loops and compressed mesh streams to eliminate CPU bottlenecking.
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.
Engineered responsive input managers and a custom asset loading pipeline that keeps startup loading times under 3 seconds.
Engineered gameplay mechanics and custom technical pipelines powering Kinder Champ (Draw AR).
Every production title at CubeStaX undergoes strict frame profiling, memory optimization, and compliance testing.
Locked AR Tabletop Performance on Low-End Mobile
Peak Runtime Memory Footprint
Zero Garbage Collection Allocation in Active AR Tracking Loop
Runtime Vuforia Target Synthesis & Binding Latency
Drift-Free Spatial Anchoring via Motion Gating & Deadbands
Data-Driven Cosmetic Spawn Sequences Powered by Strategy Pattern