🐜
【Netcode for GameObjects】NetworkListを使うとメモリリークが発生してしまう症状の解決方法【Unity】
症状
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