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.
RunicSigns
Simple vanilla sign labels with colors, backgrounds, text sizing and synchronized physical sign scaling. No chest or storage features.
| Date uploaded | 3 days ago |
| Version | 1.0.4 |
| Download link | Chazman-RunicSigns-1.0.4.zip |
| Downloads | 410 |
| Dependency string | Chazman-RunicSigns-1.0.4 |
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.2350README
RunicSigns
A simple editor for Valheim's wooden signs. Customize captions, colors, backgrounds and text size, then make the whole sign larger or smaller to suit your build.
RunicSigns works independently and can be used alongside RunicStorage. It requires only BepInEx.
Use
Size before placement
Select the wooden sign with your hammer. Press ] to enlarge its placement preview or [ to shrink it, in 0.25 steps from 0.25x to 4x. Position and rotate the enlarged preview normally, then place it. The placed sign keeps that size, including after saving and reloading. The preview's scaled geometry is used by normal placement checks, so you can align neighboring large signs before building them.
The size is remembered for subsequent signs. Configure Placement -> SignScale, IncreaseSize,
and DecreaseSize in BepInEx Configuration Manager or the mod's config file. Size shortcuts are
inactive while typing or editing a sign. Existing signs keep their saved settings.
Edit an existing sign
Build or approach a normal wooden sign and press Use. The RunicSigns editor replaces the text prompt after Valheim approves the interaction.
- Caption: up to 256 characters, including line breaks. This limit stays the same at every sign size. Text is literal; formatting tags are not executed.
- Sign size: 0.25×–4× in 0.25 steps. The board, lettering and collision geometry scale together without stretching.
- Text size: 0.3×–3× independently of the board. Long text automatically shrinks to fit.
- Color: type a color name or cycle through RunicStorage's named palette. Hex and approximate names resolve to the nearest supported palette entry, which is shown in the editor.
- Background: transparent, white or black behind the caption. Transparent leaves the wooden board visible.
- Alignment and bold: left, center or right, with optional bold lettering.
- Text position: move the caption in 5% steps, up to 40% of its text area in each direction; Center resets the offset.
- Save sign: apply and save changes. Cancel, Escape or controller Cancel discards the draft. Movement, camera controls and gameplay shortcuts are blocked only while the editor is open. Version 1.0.2 fixes the persistent input lock caused by running alongside RunicStorage.
The editor preview shows text styling. For new signs, the hammer preview shows physical size before placement. Existing signs can still be resized in the editor. New and existing vanilla signs are supported. Modded sign prefabs are intentionally outside this release's scope.
Install
Install BepInExPack Valheim 5.4.2350 and put RunicSigns.dll under BepInEx/plugins/RunicSigns on every player and the server, using the same RunicSigns version. Restart those processes after installation. RunicStorage can remain installed.
BetterSigns must be disabled because both replace the same sign editor; BepInEx prevents RunicSigns from loading alongside it. Other mods that replace sign editing or change sign scale may also conflict.
Multiplayer and saves
Each sign's appearance is saved with the world and synchronized between participating installations. Captions and authorship use Valheim's normal sign data and retain the game's text visibility and filtering behavior.
Stay within five metres of the sign and make sure you have ward access. If another player changes the sign while you are editing, your stale save is refused and your draft remains open. Copy your caption before reopening the sign. Cancelled or timed-out requests do not later apply the discarded draft.
All participants need the mod for consistent dimensions and save coordination. If saving repeatedly times out, check that every player and the server have the same RunicSigns version installed.
World saving follows normal Valheim save timing. Uninstalling retains the vanilla signs and captions; custom appearance stops being applied. RunicSigns fields remain available if the mod is reinstalled. Literal tags in a caption may be interpreted by vanilla after uninstalling.
Release notes
Version 1.0.4 adds sizing in the hammer preview before placement. It also retains the corrected text-position arrows from 1.0.3; use Center to reset an existing sign's text position.
Version 1.0.2 fixes the input-hook conflict with RunicStorage that could prevent movement and camera control after closing an editor. In-game operation was confirmed by the author following this fix.
Automated checks cover sign settings, simulated multiplayer saves, compatibility with the installed game APIs, and input recovery with both RunicStorage and RunicSigns loaded. Dedicated-server and broader multiplayer edge-case testing remain limited.
Support
Report issues through the Runic mods Discord. Include your RunicSigns version, whether you are playing solo or on a server, and the relevant BepInEx log messages.
CHANGELOG
Changelog
1.2.5 — 2026-09-18
-
Public release of the live sign designer after author-confirmed in-game testing on Valheim 1.0.15.
-
Includes selected-text styling, emojis, text effects, curves, caption offsets, placement previews and existing-sign editing.
-
No selection edits caption defaults; selected words retain their independent formatting.
-
RESET TEXT restores uniform default text formatting without erasing the caption or moving the sign.
-
Neutral private font face tint and enabled rich-text colors prevent inherited sign tint from darkening chosen colors.
-
Text Color... label; opacity controls reflect effective alpha, including older saved settings.
1.2.4 — Caption depth test (2026-09-18)
- Added Depth input and Back/Forward buttons for independent caption translation along its facing direction; positive moves forward, negative backward.
- Depth uses the selected offset units and fine/coarse step. Center text resets all three axes; backgrounds follow the caption.
- Version-4 style data persists depth, with zero depth for previous designs. Curvature remains independent.
- Test release only; RunicStorage and public packages unchanged.
1.2.3 — Text-sized background test (2026-09-18)
- Backgrounds now follow the actual rendered text/emoji bounds with padding, including selected text sizes, multiple lines and curved geometry.
- Backgrounds follow caption alignment/offsets and hide for empty captions. Whole-sign scaling still scales text and background together.
- Includes the free-text wrapping fix and combined effects from 1.2.2. Test release only.
1.2.2 — Free text and combined effects test (2026-09-18)
- Free text size now disables automatic word wrapping so enlarged portal captions extend horizontally; explicit newlines remain supported. Fit mode restores the original wrapping behavior.
- Replaced the exclusive effect cycle with an Effects panel: independent outline/shadow toggles and signed up/down and forward/backward curve strengths. All four controls can combine.
- Curvature transforms freshly generated text and emoji geometry; cancelling or resetting restores the original appearance.
- Version-3 style data saves both curves and combined effects; existing version-1/2 designs remain readable.
- Isolated test build only. No public release promotion or RunicStorage changes.
1.2.1 — Named-color and selection test (2026-09-18)
- Added a named-color picker with all 22 supported names and visible swatches; formatting is generated automatically.
- Color, bold, italic, size, opacity and Clear formatting now apply only to selected caption text. Select all explicitly formats the whole caption.
- Preserve the selected range while using formatting controls and the color picker; choosing the same color for another selection works.
- No selection means no text formatting changes, including a caret within an emoji.
- Isolated test build only; not promoted to latest. RunicStorage is unchanged.
1.2.0 — Designer test (2026-09-18)
- Add F8 live placement designer and local live preview on existing signs.
- Add selected-text styling, precise colors and alpha, opacity, italic, free sizing, outline/shadow and symbol insertion.
- Add numeric offsets up to ±2000 text units or ±20 sign fractions with fine/coarse controls.
- Apply the draft caption/style on native placement; preserve bracket resizing.
- Keep captions plain for native filtering; save version-2 style metadata separately from caption text.
- Expand caption limit to 1024 UTF-16 units and add designer regression tests.
- Isolated testing only; no latest-release promotion.
1.1.0 - 2026-09-16
- Preserved bracket-key hammer preview sizing and saved placement scale from 1.0.4.
- Add a 64-emoji picker with Food, Materials, Equipment and Places categories.
- Render bundled full-color emojis in the editor and world labels without extra dependencies or runtime downloads.
- Preserve Unicode in the existing save format, guard insertion limits, and avoid broken surrogate pairs.
- Add emoji selection, boundary and persistence regressions. The author confirmed successful in-game emoji testing on September 17, 2026.
1.0.4 - 2026-09-14
- Added enlarged hammer previews: use ] / [ to adjust sign size before placement, or set Placement.SignScale. Shortcuts are configurable and respect text input and modal editors.
- Applied the selected scale before native placement checks, and saved it through the native IPlaced callback after creator assignment. Board and colliders match the preview without changing the shared prefab.
- New signs retain their selected size across multiplayer synchronization and save/reload. Existing sign settings are preserved.
1.0.3
- Fix text-position arrows moving the caption off the sign on the first increment. Offsets now account for the text object's own scale and rotation.
- Preserve the original text position and backing-panel position; offsets do not accumulate between edits.
- Keep the same saved settings format. Existing offsets are interpreted correctly after updating; Center still resets both offsets.
- Add rendering regressions for four-way nudges, rotated text, 0.25×–4× boards and Center/reset behavior.
1.0.2
-
Prepared for Thunderstore release after author-confirmed in-game operation.
-
Includes the matching wood-and-iron icon with cyan runes, installation instructions and sign-size/character-limit guidance.
-
Fix the reproduced persistent input lock when RunicStorage and RunicSigns are installed together. HarmonyX shares
__stateby declaring type name even across assemblies; the duplicate camera hook name let one mod overwrite the other's scope state. -
Give all RunicSigns modal patches a unique namespace. RunicStorage does not need to be changed.
-
Add an actual HarmonyX two-assembly regression covering both patch orders, either editor, nested camera calls and exception cleanup. The original hooks reproduce the reported lock; the isolated hooks recover input.
1.0.1
- Remove a possible unbounded held-action lock after closing or saving; this did not resolve the cross-mod conflict subsequently fixed in 1.0.2.
- Limit protection against held attack/use inputs to those actions, with a one-second stale-input timeout.
- Build the editor while inactive and activate input blocking only after it successfully opens.
- Release modal state before cleanup; handle partial UI construction, callback failures, disabled components and missing canvases safely.
- Add regression coverage for permanently held input flags, timeout, re-press and lifecycle reset.
- Use the matching wood-and-iron RunicSigns icon with cyan runes.
1.0.0 candidate
- Fresh, focused editor for vanilla wooden signs.
- RunicStorage named-color palette, independent text sizing, backgrounds, alignment and offsets.
- Proportional physical sign scaling from 0.25× to 4×.
- Native caption/author preservation, synchronized appearance and save conflict handling.
- Bounded save leases, timeout/cancel handling and modal gameplay input protection.
- No BetterSigns assets or code; no storage functionality.
Versions 1.0.0 and 1.0.1 were development builds; use 1.0.2 or later.