canvas-performance

Apply batching, dirty flagging, pooling, and profiling to Unity Canvas and UI Toolkit.

Updated Feb 25, 2026
One-click install
npx skills add https://github.com/Criezzz/Gametopia2026 --skill canvas-performance
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: canvas-performance
Source: https://github.com/Criezzz/Gametopia2026/tree/main/.agent/skills/canvas-performance
Command: npx skills add https://github.com/Criezzz/Gametopia2026 --skill canvas-performance

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

UI performance bottlenecks in Unity's Canvas (UGUI) and UI Toolkit, characterized by frequent full-frame redraws, layout churn, and overdraw, which degrade frame rate and responsiveness.

Core Features & Use Cases

  • Batch canvases and separate dynamic/static content to reduce rebuilds.
  • Dirty flag optimization and pooling to minimize allocations and redraws.
  • Profiling and verification guidance to measure FPS, batch counts, and rendering overhead in real projects.
  • Use cases include mobile UIs with frequent updates, complex interfaces, and scenarios requiring smooth frame rates.

Quick Start

Run the canvas-performance skill to profile and apply batching and pooling improvements to your Unity UI.

Frequently Asked Questions about canvas-performance

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I optimize Unity UGUI performance when my Canvas is redrawing every frame?

Unity Canvas performance optimization involves batching dynamic and static content into separate Canvases to reduce rebuilds, applying dirty flagging and pooling to minimize allocations, and profiling to verify lower batch counts and higher frame rates.

Why does my Unity UI frame rate drop with complex hierarchies and frequent updates?

Complex Unity UI hierarchies cause layout churn and overdraw, triggering frequent full-frame Canvas rebuilds that degrade frame rate. Separating dynamic content into sub-canvases and applying dirty flag optimization reduces unnecessary redraws and restores responsiveness.

What is the best way to profile Unity UI rendering overhead and batch counts?

Profiling Unity UI rendering overhead requires measuring FPS, batch counts, and rebuild frequency using Unity's profiling workflows. By applying batching and pooling strategies, you can verify improvements in rendering overhead and batch reductions directly in real projects.

Can I use UI Toolkit with UGUI batching and pooling strategies to improve mobile UI responsiveness?

UI Toolkit and UGUI both benefit from batching and pooling strategies to improve mobile UI responsiveness. By separating dynamic and static content and minimizing allocations, you can reduce redraws and maintain smooth frame rates across frequent mobile interface updates.

When should I not use dirty flagging and pooling for Unity Canvas updates?

Dirty flagging and pooling for Unity Canvas updates are less effective when static content rarely changes or when hierarchies are too simple to trigger frequent rebuilds. Profiling first ensures these optimizations target genuine bottlenecks rather than premature complexity.

Do I need knowledge of Unity UI internals to apply Canvas batching and dirty flag optimization?

Knowledge of Unity UI internals, including Canvas rebuild behavior and profiling workflows, is required to effectively implement batching, dirty flagging, and pooling. Understanding these mechanisms ensures you can apply improvements and verify frame rate gains in dynamic UIs.