Project Optimizations Panel

Window > AGS > Project Optimizations

A standalone Editor window that audits and configures 12+ engine-level optimizations. It features a collapsible help system—click the [?] icon on the far right of any section to reveal detailed explanations.

OptimizationWhat It Does
SRP BatcherGroups draw calls to reduce CPU overhead
Static BatchingCombines static meshes at build time
Dynamic BatchingCombines small dynamic meshes at runtime
GPU SkinningOffloads mesh deformation to the GPU
Graphics JobsMultithreaded rendering
Incremental GCSpreads garbage collection across frames
Strip Unused Mesh ComponentsRemoves unused mesh data from builds
Frame Timing StatsEnables precise CPU/GPU frame timing
Texture StreamingLoads only needed mip levels (with memory budget slider)
Async Shader CompilationAvoids shader compile stuttering
Enter Play Mode (Skip Domain Reload)Faster Play Mode entry
Shader Variant StrippingReduces build size by stripping unused variants
Occlusion CullingSkips rendering of hidden objects
Shader Prewarming CacheGenerates a global cache to prevent "cyan flashes"

Shader Prewarming Cache (Eliminating Cyan Flashes)

When switching quality tiers (e.g., from Low to Ultra), the engine often needs to compile new shader variants that weren't active before. This causes a brief "cyan/magenta flash" and a frame stutter.

AGS provides an automated tool to solve this:

  1. In the Project Optimizations panel, find the Shader Prewarming Cache section.
  2. Click "Generate Global Shader Cache".
  3. AGS will automatically open every scene in your Build Settings and extract all shaders and keywords in use.
  4. It creates a AGS_ShaderCollection.shadervariants file in Assets/Resources.
  5. This file is automatically injected into Unity's Graphics Settings > Preloaded Shaders and assigned to the AutoConfigManager.
  6. At runtime, AGS calls WarmUp() on this collection to ensure all shaders are ready before the visual swap occurs.

Usage

[!WARNING] Before clicking Apply All Recommended, it is strongly advised to backup your project or use version control. These options make permanent changes to Unity's PlayerSettings and GraphicsSettings files!

  1. Open the panel.
  2. Review each optimization - green ✅ means enabled, red ❌ means disabled.
  3. Click "Fix All Recommended" to apply all safe optimizations at once.
  4. Or click individual "Fix Now" / "Open Settings" buttons for manual control.

Texture Streaming Memory Budget

The panel includes an interactive slider for texture streaming memory (512 MB to 32 GB):

  • Increments in multiples of 512 MB up to 8 GB.
  • Increments in multiples of 1024 MB above 8 GB.
  • Displays the value in GB for readability.
  • Shows a warning for budgets below 2 GB.