OhMyGrid

v1.0.2·Updated 2026-09-20

Plant crops in donut and other non-square patterns. Cycle center modes, auto-snap to existing plants for concentric placement, see cost and yield live, and mass-pick/refuel with Shift+E.

About this mod Author’s original text

OhMyGrid

Plant crops in donut and other non-square patterns in Valheim. Lay down a

big onion ring, drop a smaller carrot donut concentric inside it, and stop

fighting the rectangular grid. Also: mass-pick / mass-refuel with Shift+E.

Install: page

(direct download

OhMyGrid-1.0.2.zip).

Use r2modman or Mod Manager to drop it into a Valheim profile.

Features

  • Donut planting. While holding the cultivator with a seed selected, a

ring of ghost previews shows around your chosen center. Left-click plants

the whole donut in one go.

  • Per-point validity. Each ghost turns red when its spot is invalid —

blocked by rocks/plants, out of reach, or on uncultivated soil. Green ones

are the only ones that get planted, charged, and counted.

  • Cost + yield overlay centered at the top of the screen: shows the

current plant, valid/total point count, total seed cost, and expected yield

— all live as you tune the radii.

  • Four center modes, cycled with F7 (top-left HUD toast on change):
  • Player — donut follows you.
  • Fixed — pins the donut at your current spot. Walk away, donut stays.
  • Cursor — donut follows where the cultivator ghost aims.
  • CursorSnap — like Cursor, but the center auto-snaps to the centroid

of nearby existing plants. Perfect for concentric placement.

  • Geometry toggle. F6 cycles Off → Donut → Off. In Off, the mod

stays out of the way and you place one plant per click like vanilla.

  • Shift+E mass-interact (hover-scoped, same-type only):
  • Hover a Pickable → harvest every Pickable of the same item type in

range. Carrots don't sweep nearby strawberries.

  • Hover a Fireplace → fuel every Fireplace in range.
  • Hover a Smelter / Charcoal Kiln → feed every smelter in range.
  • Persists across sessions. Center mode, geometry mode, radii, hotkeys,

and toggles are all stored under cgaggino.OhMyGrid.cfg.

Default hotkeys

All hotkeys are configurable under [Hotkeys] in the config file.

| Key | Action |

|---|---|

| F6 | Cycle geometry: Off ↔ Donut |

| F7 | Cycle center mode: Player → Fixed → Cursor → CursorSnap → Player |

| F8 | Dump every donut grid point to the BepInEx log |

| ] | Outer radius +1 spacing step |

| [ | Outer radius −1 spacing step |

| Shift+] | Inner radius +1 spacing step |

| Shift+[ | Inner radius −1 spacing step |

| Left-click | Plant the entire donut (when holding a Plant ghost) |

| Shift+E | Mass-interact with the hovered object's type in range |

Defaults: InnerRadius=2m, OuterRadius=6m, Spacing=1m, AutoSnapRadius=12m,

MassInteract.Radius=5m. All editable in the cfg file (or via BepInEx

ConfigurationManager if you have it installed).

Concentric donut workflow

  • Stand inside an existing donut of one crop (or anywhere if it's the first).
  • Tap F7 until the HUD shows Mode: CursorSnap.
  • Aim near the center — the donut snaps to the centroid of the existing

plants automatically.

  • Bring [ until the outer radius matches the inside of the previous donut.
  • Swap seed type and left-click. The new ring lands concentric to the old one.

Building from source

You need a local Valheim install with BepInEx (the build references

assembly_valheim.dll and friends; they're not redistributable):

$env:VALHEIM_INSTALL = "C:\Program Files (x86)\Steam\steamapps\common\Valheim"

dotnet restore

dotnet build -c Release

The output is bin/Release/OhMyGrid.dll. Drop it in your r2modman Mod Manager profile under BepInEx/plugins.

Known limitations

  • Centroid snap is biased on asymmetric clusters. If the existing plants

are a half-donut or irregular, the snapped center won't be the geometric

center. A least-squares circle fit is on the roadmap.

  • Plant.Awake NRE per clone. The placement ghost has no ZNetView and

Plant.Awake dereferences it unconditionally. The exception is caught by

Unity and the visual still renders correctly; HaveGrowSpace is validated

against the source ghost (not the clones), so behavior is correct, but the

log gets one NRE entry per donut clone created.

-

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.

Dependencies

Install these first, or the mod will not work:

denikson-BepInExPack_Valheim

File & checksum

Filename
OhMyGrid-1.0.2.zip
File size
24.4 KiB