Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Carturs Build Camera
Detach the camera and build without climbing on things. Works with any hammer, the hoe and the cultivator. Maintained fork of Azumatt's deprecated Build Camera CHE, fixed for Valheim 1.0.
| Date uploaded | 4 days ago |
| Version | 1.1.1 |
| Download link | Cartur-Carturs_Build_Camera-1.1.1.zip |
| Downloads | 1637 |
| Dependency string | Cartur-Carturs_Build_Camera-1.1.1 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2333README
Cartur's Build Camera
Equip a hammer near a workbench, press Shift+B, and the camera detaches from your character. Look around and move as usual, build and pick pieces as usual, and put the camera away by pressing Shift+B again, pressing R, or unequipping the tool. Works with the hoe and the cultivator, and with any modded build tool — anything holding a piece table counts.
Why this fork exists
Azumatt's Build Camera Custom Hammers Edition is deprecated, and the version still on Thunderstore — 1.3.1 — is broken on Valheim 1.0.
Valheim 1.0 dropped the trailing optional bool from ZInput.GetJoyLeftStickX/Y and
GetJoyRightStickX/Y. C# bakes the resolved argument count into the call site, so the shipped
1.3.1 assembly still references four signatures that no longer exist and throws
MissingMethodException out of the camera update every frame a controller is read. Resolving
1.3.1 against Valheim 1.0.16 turns up exactly those four dead references and nothing else.
Azumatt fixed it in a 1.3.2 that only ever reached Nexus, then deprecated the package.
This fork is that code, recompiled against 1.0.16 and maintained.
Everything it does
- Detached build camera for any tool with a piece table — vanilla and modded hammers, hoe, cultivator.
- Its own configurable station range. It does not widen workbench coverage or player-base protection, so it will not suppress raids.
- The camera cannot cross terrain. HearthBelow cave floors, walls and ceilings use the same collision path.
- Optional cozy and minimum-comfort requirement, on camera entry or on camera pickup.
- Pick up items off the ground through the camera, with a configurable HUD warning when the cozy rule blocks it. Respects wards, and WardIsLove when installed.
- An equipped Dvergr circlet's light follows the camera, including CircletExtended and RaziCirclet custom slots. Position, intensity, range, colour and shadows are configurable.
- A Wisplight's demister ball follows the camera, at 2.5× clearing range by default.
- Separate mouse and controller look inversion.
- World-relative panning instead of camera-relative, if you prefer it.
- ServerSync: configs sync from the server, and the mod version-checks with itself.
What this fork changed
- Recompiled for Valheim 1.0.16, which is the controller fix described above.
- Exits build mode on death. Dying used to leave you detached with input suppressed, watching your own corpse with no way to take control back.
- Exits build mode on a portal hop, which used to strand the camera clamped to a station in the world you just left.
- Refuses to start while the game's own
freeflycamera is active, instead of putting two camera systems on one transform. - Auto-pickup falls back to the vanilla ward check when WardIsLove is installed but its
CheckAccesscannot be resolved. It used to silently return "no access" and turn pickup off with nothing in the log. - Stopped writing
__runOriginal = truein the patch early-outs, which could resurrect a method another mod had deliberately skipped. - Version handshake has a floor. It used to require the client and server strings to match exactly, so any patch release disconnected everyone who had not updated. It now accepts any version at or above a stated minimum, and ServerSync's own check reads the same minimum.
- Default toggle is Shift+B, not bare B. Plain B is a crowded key — Cartur's UI HUD quick slot 3, EquipmentAndQuickSlots slot 3 and OdinHorse saddlebags all use it — so a single B both toggled the camera and fired that quick slot, eating any food sitting in it.
- Hotbar keys in build camera read the same input vanilla does. Upstream read the raw number
row past ZInput, so the keys fired even if you had rebound them, and the
Hotbar1Alt–Hotbar8Altbinds were ignored. - Fixed a null dereference when verbose logging was on and there was no local player.
Config
BepInEx/config/com.jekkle.valheim.carturbuildcamera.cfg, hot-reloaded on save. If you are coming from
Azumatt's version and have no config yet, your existing Azumatt.BuildCameraCHE.cfg is copied
over on first run so your settings carry across.
Replaces Azumatt's Build Camera, which is no longer maintained. If both are installed, this one turns Azumatt's patches off and takes over (with a warning in the log) - you can remove Azumatt's.
Incompatible with
- ValheimPlus first person mode, and Masa's FirstPerson — both take over the camera.
Compatible with
Azumatt's FirstPersonMode, HearthBelow, CircletExtended, RaziCirclet, WardIsLove.
Free, and always will be. If it improved your game you can tip me on Patreon.
More from Cartur
HD Blood · Map Pins · Compass and Clock · Safe Stamina · Follow Command · Flooring · UI - HUD · Waste Management · Feeding Trough · Combat Text
Questions, bugs and requests: Cartur's Mods Discord
Credits and licence
GPL-3.0, the same licence as both upstreams. Source in LICENSE.txt.
- gittywithexcitement and CookieMilk — the original Valheim Build Camera.
- MSchmoecker — automatic tool detection.
- Azumatt — the Custom Hammers Edition fork this is built from: ServerSync, the circlet light, the demister, the coziness rules and the pickup HUD are all his work.
- amberbeanzz — the Wisplight idea.
CHANGELOG
Changelog
1.1.1
- The build camera no longer gets stuck with first-person mods. With Landoria's First Person (and any first-person mod that switches on at full zoom) the camera was pushed backwards every frame until it hit the edge of the build range, so WASD seemed to do nothing. Build mode now holds the zoom just outside first person while it is active and gives your first-person view back when you leave.
1.1.0
- A server with this mod no longer kicks players who don't have it. Only a client running an older, incompatible version of the mod is turned away.
- Takes over from Azumatt's Build Camera (Custom Hammers Edition) when both are installed, instead of standing down. That one is no longer maintained; this mod switches its patches off and logs a warning. Remove it to silence the warning.
- Entering build mode keeps the direction you were looking.
- Shift+B works while you are moving.
- The config file shipped with the mod is now read on first launch instead of being overwritten with defaults, and the number settings have sensible ranges in the config manager.
- Logging out while in build mode no longer leaves the camera detached.
- The demister's effect keeps ageing normally while the build camera is out.
1.0.1
- The camera no longer freezes when build mode starts close to the ground. If the game camera was within the terrain clearance (a hillside or slope behind you), every move was rejected and the camera could never move. It can now climb out.
1.0.0
First release of the fork. Feature-identical to Azumatt's Build Camera Custom Hammers Edition 1.3.3, plus:
- Recompiled against Valheim 1.0.16. Fixes the controller crash — 1.3.1 on Thunderstore still
references
ZInput.GetJoyLeftStickX/Y(bool)andGetJoyRightStickX/Y(bool), which Valheim 1.0 removed the trailing optional parameter from. - Build mode now ends on death. It used to leave you detached with input suppressed.
- Build mode now ends on a portal hop, instead of stranding the camera at a station in the previous world.
- Build mode refuses to start while the game's own
freeflycamera is active. - Camera auto-pickup falls back to the vanilla ward check when WardIsLove is installed but its
CheckAccesscannot be resolved. It used to silently disable pickup with nothing logged. - Patch early-outs no longer write
__runOriginal = true, which could resurrect a method another mod had deliberately skipped. - Version handshake accepts any client at or above a minimum-version floor instead of demanding an exact string match, so a patch release no longer disconnects everyone who has not updated yet. Both the hand-rolled handshake and ServerSync's own check now read the same floor — raising only ServerSync's would have changed nothing, because the handshake overruled it.
- Default toggle is Shift+B, not the bare B upstream used. Plain B is crowded — Cartur's UI
HUD quick slot 3, EquipmentAndQuickSlots slot 3 and OdinHorse saddlebags all bind it, so one
press toggled the camera and used that slot, eating whatever food was in it. BepInEx's
KeyboardShortcutblocks a bare-B shortcut while Shift is held, so the two no longer collide. Upgrading from Azumatt's config keeps whatever key you already had; change it by hand if you want Shift+B. - Hotbar keys in build camera mode now read the same input as vanilla. Upstream read the raw
number row via
Input.GetKeyDown(KeyCode.Alpha1 + i), bypassing ZInput, so slots fired even for players who had rebound those keys — and it ignored theHotbar1Alt–Hotbar8Altbinds entirely, which vanilla honours. - Fixed a null dereference in verbose logging when there was no local player.
- Stands down and patches nothing if
Azumatt.BuildCameraCHEis also loaded. - Seeds its config from
Azumatt.BuildCameraCHE.cfgon first run if you have one.