"HashMap is Full" при использовании TryAdd в Unity Job System

Я ещё не особо разбираюсь в Job System, но после того как я наконец-то смог использовать HashMap внутри самого job я столкнулся с ошибкой InvalidOperationException: HashMap is full InvalidOperationException: HashMap is full

На Unity форумах я не нашёл ничего что могло бы мне помочь. Ошибка вызывается в этой строке: writePipeByPosition.TryAdd(position, tempPipe); Эта строка мне нужна для того что бы перезаписывать/изменять данные "трубы" (pipe). Я не знаю насколько точно я дал понять мою проблему, но заранее спасибо, всё что нужно уточняйте.

Вот так выглядит сам IJobParallelFor (убрал всё лишнее):

private struct MovingJob : IJobParallelFor {
    [ReadOnly] public NativeArray<Resource> resourcesArray;
    public NativeArray<Matrix4x4> matricesArray;
    public NativeHashMap<Vector3Int, Pipe>.ReadOnly readPipeByPosition;
    public NativeParallelHashMap<Vector3Int, Pipe>.ParallelWriter writePipeByPosition;

    public void Execute(int index) {
        Matrix4x4 matrix = matricesArray[index];
        Vector3Int position = Vector3Int.FloorToInt(new(matrix.m03, matrix.m13, matrix.m23));
        if (readPipeByPosition.TryGetValue(position, out Pipe tempPipe)) {
            writePipeByPosition.TryAdd(position, tempPipe);
        }
    }
}

Вот как выглядит вызов данной структуры (также убрал всё лишнее):

private void Update() {
    if (resourceList.Count > 0) {
        int count = resourceList.Count;
        NativeArray<Matrix4x4> matricesArray = new(matricesList.ToArray(), Allocator.TempJob);
        NativeHashMap<Vector3Int, Pipe> nativeReadHashMap = new(pipeManager.pipeComponentByPosition.Count, Allocator.TempJob);
        NativeParallelHashMap<Vector3Int, Pipe> nativeWriteHashMap = new(pipeManager.pipeComponentByPosition.Count, Allocator.TempJob);
        foreach (var kvp in pipeManager.pipeComponentByPosition) {
            nativeReadHashMap.TryAdd(kvp.Key, kvp.Value);
        }
        var movingJob = new MovingJob {
            matricesArray = matricesArray,
            readPipeByPosition = nativeReadHashMap.AsReadOnly(),
            writePipeByPosition = nativeWriteHashMap.AsParallelWriter()
        };
        JobHandle movingJobHandle = movingJob.Schedule(count, 32);
        movingJobHandle.Complete();
        matricesArray.Dispose();
        nativeReadHashMap.Dispose();
        nativeWriteHashMap.Dispose();
    }
}

Ответы (0 шт):