# プレイヤーでのメモリカウンターへのアクセス

> Display memory metrics in a built player.

[ProfilerRecorder API](/engine/6000.0/script-reference/unity-profiling/profiler-recorder.md) を使用して、プレイヤーで Memory Profiler モジュールのカウンターにアクセスすることができます。

以下の例には簡単なスクリプトが含まれています。これにより、**Total Reserved Memory**、**GC Reserved Memory**、**System Used Memory** の指標を収集し、それらを [`GUI.TextArea`](/engine/6000.0/script-reference/unity-engine/gui/text-area.md) として表示します。Memory Profiler モジュールの情報は、[`ProfilerCategory.Memory`](/engine/6000.0/script-reference/unity-profiling/profiler-category/memory.md) Profiler カテゴリに属します。

```language-csharp
using System.Text;
using Unity.Profiling;
using UnityEngine;

public class MemoryStatsScript : MonoBehaviour
{
    string statsText;
    ProfilerRecorder totalReservedMemoryRecorder;
    ProfilerRecorder gcReservedMemoryRecorder;
    ProfilerRecorder systemUsedMemoryRecorder;

    void OnEnable()
    {
        totalReservedMemoryRecorder = ProfilerRecorder.StartNew(ProfilerCategory.Memory, "Total Reserved Memory");
        gcReservedMemoryRecorder = ProfilerRecorder.StartNew(ProfilerCategory.Memory, "GC Reserved Memory");
        systemUsedMemoryRecorder = ProfilerRecorder.StartNew(ProfilerCategory.Memory, "System Used Memory");
    }

    void OnDisable()
    {
        totalReservedMemoryRecorder.Dispose();
        gcReservedMemoryRecorder.Dispose();
        systemUsedMemoryRecorder.Dispose();
    }

    void Update()
    {
        var sb = new StringBuilder(500);
        if (totalReservedMemoryRecorder.Valid)
            sb.AppendLine($"Total Reserved Memory: {totalReservedMemoryRecorder.LastValue}");
        if (gcReservedMemoryRecorder.Valid)
            sb.AppendLine($"GC Reserved Memory: {gcReservedMemoryRecorder.LastValue}");
        if (systemUsedMemoryRecorder.Valid)
            sb.AppendLine($"System Used Memory: {systemUsedMemoryRecorder.LastValue}");
        statsText = sb.ToString();
    }

    void OnGUI()
    {
        GUI.TextArea(new Rect(10, 30, 250, 50), statsText);
    }
}
```

以下のスクリーンショットは、[Tanks! チュートリアルプロジェクト](https://assetstore.unity.com/packages/essentials/tutorial-projects/tanks-tutorial-46209)にスクリプトを追加した結果を示しています。


**オーバーレイメモリ情報を含む Tanks! チュートリアル:**
![](/api/media?file=/engine/6000.0/media/images/profiler-tanks-memory-overlay.png)

この情報は、[Memory Profiler モジュールで使用できる他のハイレベルなカウンター](/engine/6000.0/manual/analysis/profiler/collect-data/visualizing-data/memory/memory.md)と同様に、リリースプレイヤーで使用できます。選択したメモリのカウンターを Profiler ウィンドウのカスタムモジュールで表示したい場合は、[Profiler モジュールエディター](/engine/6000.0/manual/analysis/profiler/collect-data/visualizing-data/customizing/module-editor.md)を使用してチャートを設定してください。

コードにプロファイラー情報を追加する方法の詳細については、[コードへのプロファイリング情報の追加](/engine/6000.0/manual/analysis/profiler/adding-information-code.md)を参照してください。

## 追加リソース

* [コードへのプロファイリング情報の追加](/engine/6000.0/manual/analysis/profiler/adding-information-code.md)
* [プロファイラーカウンターの可視化](/engine/6000.0/manual/analysis/profiler/adding-information-code/creating-custom-counters.md)
* [Memory Profiler モジュールのリファレンス](/engine/6000.0/manual/analysis/profiler/collect-data/visualizing-data/memory/memory.md)
* [Memory Profiler モジュールの概要](/engine/6000.0/manual/analysis/profiler/collect-data/visualizing-data/memory/introduction.md)
