Memory Profiling

Download

Unity Cheat Sheet: #34

Author Name

Author Name

Author Role

Memory management in Unity requires monitoring three key areas: managed memory (C#), native memory (C++), and asset memory.


Core Profiling Tools:

  • BeginSample/EndSample: Profile code blocks
  • GetTotalAllocatedMemory: Current memory use
  • GetTotalReservedMemory: Reserved system memory
  • GetTotalUnusedReserved: Available memory

Memory Types:

  • Managed: C# objects, handled by GC
  • Native: C++ allocations, manual management
  • Asset: Textures, meshes, audio

Optimization Tools:

  • GC.Collect: Force garbage collection
  • Resources.UnloadUnusedAssets: Clear asset memory
  • NativeArray: Efficient native memory
  • MarkDynamic: Optimize mesh updates

Performance Monitoring:

  • ProfilerMarker: Track specific operations
  • FrameTimingManager: Monitor frame performance
  • Burst Compiler: Optimize native code
  • JobSystem: Parallel processing

Show More