Synchronise Tilemap changes over network

Options

I have this current code for destroying part of a tilemap. I've been told to use caching to synchronise this across all players, but I'm unsure how to do so using Fusion.

public Tilemap tilemap;

  //private Cache Cache;

  public void DestroyTerrain(Vector3 location, float radius, PhysicsMaterial2D weapon)

  {

    for(float x = -radius; x < radius; x += 0.16f)

    {

      for (float y = -radius; y < radius; y += 0.16f)

      {

        Vector3Int tilePos = tilemap.WorldToCell(location + new Vector3(x, y, 0));

        float distance = Vector3.Distance(tilemap.WorldToCell(location), tilePos);

        if (distance <= radius)

        {

          TileBase tile = tilemap.GetTile(tilePos);

          if (tile != null)

          {

            if (MaterialEnums.MaterialEnums.Instance.WOOD.Contains(tile.GetInstanceID()))

            {

              //Caching.AddCache("sneed");

              if (weapon == (PhysicsMaterial2D)Resources.Load("PhysicsMaterials/C4"))

              {

                DestroyTile(tilePos);

                continue;

              }

            }

            else

            {

              DestroyTile(tilePos);

            }

          }

        }

      }

    }

  }


  void DestroyTile(Vector3Int tilePos)

  {

    tilemap.SetTile(tilePos, null); 

  }