Does TileMap.HasTile() have a maximum range?

Im trying to get all tile positions on a tilemap that is very big. But when i use the TileMap.HasTile() it has a maximum range for me it doesnt go past it.

void GetAllTiles(Tilemap pTileMap, List<Vector3> pPosList)
{
    BoundsInt bounds = pTileMap.cellBounds;

    for (int y = bounds.yMin; y <= bounds.yMax; y++)
    {
        for (int x = bounds.xMin; x <= bounds.xMax; x++)
        {
            Vector3Int cellPosition = new Vector3Int(x, y, 0);
            if (pTileMap.HasTile(cellPosition))
            {
                Vector3 worldPosition = pTileMap.CellToWorld(cellPosition) + new Vector3(0.5f, 0.5f, 0);
                pPosList.Add(worldPosition);
            }
        }
    }
}

What does “it doesnt go past it” mean, specifically?

There’s no limit, it’s essentially a helper that simply calls GetTile and checks if it returns NULL i.e. no tile asset.

I think you’d do much better and it’d be orders of magnitude faster to use:

Can you express “very big” in width and height?

This is not unimportant because each tile in a tilemap is a GameObject serialized to the scene. There’s no inherent limit but there are reasonable limits ie you do not want to have 50,000+ game objects (225x225 tilemap) in the scene. This will bloat the scene’s file size and cause certain operations in the editor as well as loading to become significantly slower.