Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


TakeTempSnapshot(Action<string, bool>, CaptureFlags)

Triggers a memory snapshot capture to the Application.temporaryCachePath folder.
Read time 1 minuteLast updated 10 days ago

Definition

public static void TakeTempSnapshot(Action<string, bool> finishCallback, CaptureFlags captureFlags = CaptureFlags.ManagedObjects | CaptureFlags.NativeObjects)

Parameters

finishCallback

Event that is fired once the memory snapshot has finished the process of capturing data.

captureFlags

Flag mask defining the content of the memory snapshot.

Remarks

Internally MemoryProfiler.TakeSnapshot is called with the destination path set to the "<Application.temporaryCachePath>/\<projectName\>.snap".
using System.Collections;using System.IO;using Unity.Profiling.Memory;using UnityEngine;public static class MemoryProfilerExample{ public static IEnumerator TakeSnapshot() { bool snapshotFinished = false; string resultingSnapshotPath = null; MemoryProfiler.TakeTempSnapshot((filePath, success) => { snapshotFinished = true; if (success) { resultingSnapshotPath = Path.GetFullPath(filePath); Debug.Log($"Snapshot captured and stored at {resultingSnapshotPath}."); } else { Debug.LogError("Failed to take a snapshot."); } }, CaptureFlags.ManagedObjects | CaptureFlags.NativeObjects | CaptureFlags.NativeAllocations); while (!snapshotFinished) { yield return null; } if (resultingSnapshotPath != null && File.Exists(resultingSnapshotPath)) { var fileName = Path.GetFileName(resultingSnapshotPath); // Ensure a unique file name to move this file to. var finalPath = Path.Combine(Application.persistentDataPath, "DateTime.Now.Ticks" + fileName); // Remove any pre-existing file first. if (File.Exists(finalPath)) File.Delete(finalPath); // Move the file out of the temporary cache to somewhere more permanent. File.Move(resultingSnapshotPath, finalPath); // If you don't have access to the Player's file system you could also upload the file to an end-point that is accessible to you here. } }}