Yaaro Ki Rasoi – š ļø (under development)
Kitchen Simulation | Unreal Engine 5.6 | Mobile
A simulation-driven kitchen game focused on interaction systems and performance stability across devices.
Project Overview
Yaaro Ki Rasoi revolves around frequent player interactions like cooking, chopping, plating and serving all happening in a dense, interactive environment.
While the gameplay itself was straightforward to prototype, maintaining stable performance on mobile devices while preserving responsiveness and visual clarity became the real challenge as the project scaled.
My Role
- Lead Game Developer
- Gameplay Systems & Interaction Design
- Performance Optimization (UE5 Mobile & PC)
- C++ & Blueprint Architecture
- Technical Problem Solving
Core Challenges
As development progressed, three major performance bottlenecks emerged:
- Heavy use of world-space UI widgets
- Excessive Tick-based logic in C++ and Blueprints
- High-cost Niagara FX on lower-end devices
Each problem required a different approach but all shared the same root cause:
systems that worked in isolation didnāt scale well together.
Key Technical Decisions & Solutions
1. World-Space Widgets and Performance
The Problem
Early versions of the game relied heavily on world-space widgets to display contextual informationāprogress indicators, interaction prompts, and status feedback.
As more interactable objects appeared on screen, the number of world-space widgets increased rapidly, leading to:
- GPU overhead from UI rendering
- Frame rate drops during busy gameplay moments
- Inconsistent performance across devices
The Solution
Instead of removing UI feedback, I rethought how and where it was rendered:
- Minimized the number of world-space widgets active at any given time
- Converted frequently visible UI elements to screen-space widgets or centralized HUD components
- Implemented widget pooling to reuse UI elements instead of constantly creating and destroying them
- Reduced unnecessary widget updates by refreshing UI only when state changed
Result
This significantly reduced rendering overhead and stabilized frame rates during interaction-heavy gameplay.
2. Reducing Tick Usage in C++ and Blueprints
The Problem
As gameplay systems grew, many behaviors relied on Tick()āboth in C++ and Blueprints.
While convenient early on, this led to:
- High CPU usage
- Inefficient polling-based logic
- Performance degradation on mobile devices
The Solution
I performed a full audit of Tick usage and replaced it wherever possible:
- Removed unnecessary Tick functions
- Replaced continuous updates with timers for periodic logic
- Shifted logic to event-driven execution
- Ensured Tick was only used where frame-level updates were absolutely required
This approach reduced CPU load while keeping gameplay responsive.
3. Replacing Niagara FX with Flipbooks
The Problem
Niagara effects added visual polish but came with a significant cost especially on lower-end and mid-range mobile devices.
In stress scenarios:
- FX-heavy moments caused frame drops
- Visual consistency varied between devices
The Solution
Rather than forcing Niagara everywhere, I made a pragmatic trade-off:
- Replaced many Niagara FX with flipbook-based sprite animations
- Used simpler, pre-baked visual effects for common interactions
- Reserved Niagara only for cases where it delivered clear gameplay value
This ensured smoother gameplay across a wider range of devices without sacrificing clarity.
4. Interaction System Optimization
Beyond these core challenges, I also focused on:
- Centralized interaction handling instead of per-object logic
- Event-based interaction checks instead of polling
- Clean separation between interaction detection and execution
This reduced duplication and made the system easier to extend as new kitchen mechanics were added.
Results
- Noticeably improved frame rates on mobile devices
- Reduced CPU and GPU load during peak gameplay
- More consistent performance across device tiers
- Cleaner gameplay logic with fewer hidden performance costs
- Systems that scaled without constant refactoring
What Iād Improve Next
If development continued further, the next focus areas would be:
- Adaptive quality settings based on device profiling
- Further FX scalability controls
- Deeper analytics-driven performance tuning
The current architecture supports these improvements without major rewrites.
Key Takeaways
- World-space UI must be used sparingly in simulation-heavy games
- Tick-based logic doesnāt scale. Event-driven systems do
- Visual fidelity should adapt to device capability
- Performance problems are often architectural, not cosmetic
