private void RenderChunk(NativeArray <ChunkRenderMesh> chunkRenderMeshes, NativeArray <LocalToWorld> matrixes)
        {
            for (var i = 0; i < chunkRenderMeshes.Length; i++)
            {
                var chunkRenderMesh = chunkRenderMeshes[i];
                var matrix          = matrixes[i].Value;

                if (!_meshCache.TryGetValue(chunkRenderMesh.Batch, out var mesh))
                {
                    Debug.LogWarning($"No Mesh For {chunkRenderMesh.Batch}!");
                    continue;
                }

//                    continue; //TODO throw a warning
                if (!_arrayMaterialRegistry.TryGetValue(chunkRenderMesh.Batch.MaterialIdentity, out var material))
                {
                    var defaultError = new ArrayMaterialKey(BaseGameMod.ModPath, "Default");
                    if (!_arrayMaterialRegistry.TryGetValue(defaultError, out material))
                    {
                        continue; //TODO throw a warning
                    }
                }


                Graphics.DrawMesh(mesh, matrix, material, chunkRenderMesh.Layer, default, chunkRenderMesh.SubMesh,
 public SubArrayMaterialKey(ArrayMaterialKey arrayMaterial, string subArrayMaterial)
 {
     ArrayMaterial    = arrayMaterial;
     SubArrayMaterial = subArrayMaterial;
 }