🐜

【Netcode for GameObjects】NetworkListを使うとメモリリークが発生してしまう症状の解決方法【Unity】

2022/03/29に公開

症状

Netcode for GameObjectsにてNetworkListを使うと、

A Native Collection has not been disposed, resulting in a memory leak.

というエラーが出てしまうことがあります。

原因

NetworkBehaviourを継承したクラスのOnDestroyをoverrideする際に、base.OnDestroy();を呼び出していないことが原因のようです。

解決方法

OnDestroyをoverrideする際に、base.OnDestroy();を呼び出しましょう。

public class Manager : NetworkBehaviour
{
	public override void OnDestroy()
	{
		base.OnDestroy();
		////////
		//処理//
		////////
	}
}

こんな感じです

Discussion