Source-checkedQuality of life & UI

BuildPiecesCustomized

by shudnal · for Valheim

Customize individual build pieces. Set properties globally such as rain, water, ash, lava damage immunity. Customize global material type properties.

7.2KDownloads
19d agoLast updated
BepInExLoaders
ThunderstoreSource

About BuildPiecesCustomized

From Thunderstore

Customize individual build pieces. Set properties globally such as rain, water, ash, lava damage immunity. Customize global material type properties.

BuildPiecesCustomized

Customize individual Valheim build pieces, apply common properties globally, and adjust structural material properties.

Features

  • Customize individual piece properties, including enabled state, name, description, requirements, placement rules, durability, targeting, and Hammer usage tags.
  • Apply common properties globally through prefab lists.
  • Change material support properties to build higher or farther.
  • Load JSON, YAML, and YML piece configuration files from the plugin directory or BepInEx/config/shudnal.BuildPiecesCustomized.
  • Synchronize server-controlled configuration and reapply changes when configuration files change.

Hammer usage tags

Valheim 1.0 uses Piece.UsageTagFlags for the main Hammer build menu filters. BuildPiecesCustomized does not reassign legacy PieceCategory values.

Individual piece files can define usageTags:

usageTags:
  - Building
  - Doors

usageTags is a full replacement:

  • If usageTags is omitted, the piece keeps its original usage tags.
  • If usageTags is present, the listed built-in tags replace the current tag set.
  • usageTags: [] clears all usage tags.
  • Tag names are case-insensitive when loading.
  • Only built-in Valheim Piece.UsageTagFlags names are supported. Numeric masks and custom runtime tags added by other mods are not supported.
  • Unsupported custom tags remain untouched while usageTags is omitted. Setting usageTags replaces the mask with built-in tags only.

The generated Pieces and properties.md file contains the currently supported tag names, their localized in-game names, and the current tags of every discovered piece.

Bulk usage tag configuration

For centralized overrides, create Piece usage tags.yaml, Piece usage tags.yml, or Piece usage tags.json.

A single file can configure tags in both directions:

pieces:
  wood_door:
    - Building
    - Doors
  custom_piece: []

tags:
  Defense:
    - h_drawbridge01
    - hayzestake_01

The two sections have different semantics:

  • pieces: prefab -> tags. The list fully replaces the piece's usage tags.
  • tags: tag -> prefabs. The tag is added to every listed piece without removing its other tags.

The bulk usage-tag file has higher priority than individual piece files. Processing order is:

  1. Individual piece usageTags.
  2. Bulk pieces replacements.
  3. Bulk tags additions.

This allows a piece to receive a complete tag set in pieces and then receive additional shared tags from tags in the same file.

If more than one fixed-name bulk file is found, the last file in configuration search priority is used. The config directory is processed after the plugin directory.

The old Piece categories.json / YAML format is no longer supported.

Setting global values

There are several global lists set in the main config:

  • Clip everything
  • Allow in dungeons
  • Can be removed
  • Ash and lava immunity
  • Heavy snow immunity
  • Water and rain damage immunity
  • Structural integrity
  • Is roof
  • Is leaky (non-roof)
  • Disabled pieces

All lists are comma-separated prefab names. If a prefab is present in a global list, that value overrides the corresponding individual setting.

Use AllPieces to apply a supported global rule to every piece. Disabled pieces does not use AllPieces.

Material properties

Material groups provide multipliers for:

  • Max support multiplier - support provided when grounded.
  • Min support multiplier - minimum support before the piece breaks.
  • Vertical stability multiplier - increases or decreases vertical building stability.
  • Horizontal stability multiplier - increases or decreases horizontal building stability.

A value of 1.0 keeps the vanilla material behavior.

Automatically generated documentation

When the main menu or a world initializes, Pieces and properties.md is generated in BepInEx/config/shudnal.BuildPiecesCustomized.

It contains:

  • Supported usageTags and their localized Hammer category names.
  • The bulk usage-tag file format and precedence rules.
  • Supported enum identifiers for other configurable properties.
  • All discovered build-piece prefab names.
  • Current usage tags for every listed piece.

Regenerate it at any time with:

bpcdocs

Setting individual values

Generate a template for one piece:

bpcsave [prefab name]

Generate templates for multiple pieces using a partial name or wildcard:

bpcsaveall [prefab partial name or wildcard *]

Files are created in BepInEx/config/shudnal.BuildPiecesCustomized using JSON by default or YAML when Save piece data as YAML is enabled.

You can remove every property you do not want to override. Missing properties preserve the default value captured from the piece prefab.

Configuration files can be placed in subdirectories under either the plugin directory or BepInEx/config/shudnal.BuildPiecesCustomized. Files placed on the server are synchronized to clients according to ConditionalConfigSync policy.

Live configuration reload and build-menu compatibility

Only piece JSON, YAML, and YML files trigger a live reload. Documentation, logs, package manifests, and obsolete Piece categories files are ignored. Changes arriving close together are combined into one reload after a short quiet period. Rewriting identical configuration does not reapply pieces or publish another identical local configuration snapshot.

An unreadable or malformed file keeps the previous complete configuration active. The loader retries transient read failures three times and then logs the failure; fixing the file triggers another attempt. Delete a configuration file, or use an empty object, to remove its overrides. An empty file is not treated as a valid replacement.

Read the full description on Thunderstore →

Highlights

From source data

Loaders

Runs on BepInEx.

Footprint

Rated a light load on a server.

Last update

Its author last shipped an update 19d ago.

BuildPiecesCustomized on Nxeon

From our catalogue
One-click install
Supported on Nxeon Valheim servers, for BepInEx servers. We download it from Thunderstore, place it, and restart the server.
Server side
Optional on the server
Server type needed
BepInEx
Server load
light
Smallest plan we suggest
Valheim — 4 GB (4 GB RAM). This follows our own load rating above, not a benchmark.
Latest build
1.3.2, released 2026-09-27

Game versions by loader

LoaderGame versionsNewest
BepInEx

From 20 recorded builds of BuildPiecesCustomized.

Recent builds

BuildReleasedGame versionsLoaders
1.3.22026-09-27n/aBepInEx
1.3.12026-09-24n/aBepInEx
1.3.02026-09-12n/aBepInEx
1.2.32026-09-11n/aBepInEx
1.2.22026-09-10n/aBepInEx
1.2.02026-01-09n/aBepInEx

Dependencies

Declared by the newest build that lists any. Required ones are installed with it on one-click installs.

Run BuildPiecesCustomized on a Valheim server

Pick a server or deploy a new one above; it is installed in one click.

What kind of mod it is

From the catalog
Listed on Thunderstore as “Tweaks”

Quality of life & UI

Small conveniences, tweaks and interface improvements players notice straight away.

Works on a server

From source side support

Thunderstore lists server-side support for BuildPiecesCustomized as optional: it can run on a server, but isn’t required there.

Compatibility

Game
Valheim
Loaders
BepInEx
Runs on
Serveroptional on the server
Requires
One-click install needs a BepInEx server.

Verified at the source

  • ✓ThunderstoreOfficial listing, checked 2026-10-01Open ↗
  • ✓Authorshudnal, as published on Thunderstore
  • ✓LicenseNot published by the sourceFree

BuildPiecesCustomized, answered

Generated from the mod’s own source data.

Do my players need to install BuildPiecesCustomized?

Thunderstore lists server-side support for BuildPiecesCustomized as optional: it can run on a server, but isn’t required there.

Which loaders does it support?

BepInEx.

Is it free?

Yes. BuildPiecesCustomized is free to download from Thunderstore.

How do I add it to my Nxeon server?

Use “Add to a server” on this page, or open NxLabs from your dashboard. We install it, restart your server and switch it on.

NxLabs

Run BuildPiecesCustomized on a Valheim server.

Deploy in about a minute from $9.99 a month, then add BuildPiecesCustomized in one click.