OhMyGrid
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
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- 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.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- 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.
Install these first, or the mod will not work: