Plant one crop

Plant

VegetationMutationResult planted = VegetationAPI.PlaceWithFeedback(area, plotPosition, wheatType, seed);
if (planted.affectedCount == 1)
    inventory.ConsumeSeed(wheatItem, 1);
else
    ShowCannotPlant();

Harvest and award exact yield

Harvest

VegetationMutationResult harvested = VegetationAPI.Harvest(area, sicklePosition, 1.1f);
foreach (VegetationTypeCount item in harvested.perType)
{
    int yield = item.count * YieldPerCrop(item.typeId);
    inventory.Add(item.typeId, yield);
}

Visual destruction without deleting crops

Destroy feedback

VegetationInteractionMutationResult hit = VegetationAPI.DestroyWithFeedback(area, blastPoint, 2f);
Debug.Log($"Visible plants affected: {hit.affectedInstances.totalCount}");
// SourceData still exists; use Harvest if the crop should be permanently removed.

4. Filter harvesting by crop when needed

Pass a typeIndex to Harvest when a tool should only collect one crop family and leave neighboring plants untouched.