Single placement with feedback
Place
VegetationMutationResult r = VegetationAPI.PlaceWithFeedback(area, position, treeType, seed);
if (r.affectedCount == 1)
RegisterGeneratedObject(position, r.perType[0].typeId);Scatter placement with rejected-count feedback
Paint
VegetationMutationResult r = VegetationAPI.PaintWithFeedback(area, center, 4f, flowerType, 80, seed);
Debug.Log($"Placed {r.affectedCount}/{r.requestedCount}; blocked/rejected {r.rejectedCount}");Query before mutation
Count
VegetationInstanceCountResult nearby = VegetationAPI.GetVisibleInstanceCounts(area, center, 3f);
foreach (VegetationTypeCount item in nearby.perType)
Debug.Log($"{item.typeId}: {item.count}");4. Keep hot loops batched
Do not call query/report APIs every frame over huge radii. Use them at generation/gameplay decision points; use broad source generation for millions of ambient instances.
