Azumatt-PortalPreload icon

PortalPreload

See your portal destination ahead of time.

Last updated 3 days ago
Total downloads 654
Total rating 5 
Categories Mods Server-side Client-side Mistlands Update Hildir's Request Update Ashlands Update Bog Witch Update
Dependency string Azumatt-PortalPreload-1.0.0
Dependants 4 other packages depend on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2333 icon
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.2333

README

Portal Preload

See your portal destination ahead of time. This mod preloads the area around your portal's destination as you approach, renders a live preview window through the portal, and optionally speeds up the teleportation itself.

Required to be installed on the server and all clients.

Disclaimer

  • This mod has been very lightly tested as volunteers have been able to test with me. Please forgive me for any bugs you might experience.
    • The mod won't break your save, but could cause weird behavior in multiplayer settings. Hopefully I have dodged most of that.
  • Just like below, the mod currently supports portal_wood and portal_stone from the base game. One better than the other due to mesh differences.
  • I have been sitting on this mod for awhile now. I have decided to "finish" and upload it. Please make backups of your server and world/characters just in case I'm wrong. I will begin making gradual improvements to this overtime as time and my own ability allows.

Features

Live Portal Preview

A circular window appears on the portal's surface showing a real-time view of the destination. The preview uses the player's eye position to create a natural parallax "window into another room" effect as you move around the portal.

  • Renders only when viewing from the front of the portal within 12 meters
  • When multiple portals are nearby, only the closest one renders live; others display their last cached frame
  • Camera collision detection prevents the preview from clipping into terrain or structures at the destination
  • 512x512 render texture with 2x antialiasing

Destination Zone Preloading

When you walk within 15 meters of a portal, the mod begins loading the zones around the destination. The loading radius scales with your distance to the portal:

Distance to Portal Zone Radius Area Loaded
5m or less 3 zones (7x7) ~448m x 448m
5m - 10m 2 zones (5x5) ~320m x 320m
10m - 15m 1 zone (3x3) ~192m x 192m

Zone loading ramps up gradually to try and avoid frame stutter. Objects near the destination are instantiated in small batches (15 per frame) spread across multiple frames.

Faster Teleportation

When the destination area is already preloaded, the mod skips vanilla's initial 2-second wait and completes the teleport as soon as the terrain is ready underfoot -- typically 0.5 to 3 seconds. If terrain takes too long (>5 seconds), it falls back to vanilla behavior. This feature can be disabled independently of preloading.

Supported Portal Types

  • portal_wood (Wood Portal)
  • portal_stone (Stone Portal) [the preview is a bit small for this, will work on a custom mesh or something at a later date]

Configuration

Config file: BepInEx/config/Azumatt.PortalPreload.cfg

Option Default Description
EnablePreloading On Enables portal destination zone preloading. (recommended to keep on, because, that's kinda the point of the mod)
EnableFasterTeleport On Enables accelerated teleportation when the destination is preloaded. (Recommended to disable if you're having issues)

Multiplayer / Dedicated Server

The mod works in singleplayer, and on dedicated servers. It's been very lightly tested in multiplayer, so forgive me for any bugs.

  • In singleplayer, portal proximity state is set directly on local ZDOs with no network overhead.
  • On dedicated servers, clients send RPC messages when entering or leaving portal range. The server tracks a per-portal player-nearby counter (supporting multiple players near the same portal) and periodically scans for portals that need their zones kept active.
  • Each client loads its own destination preview independently.

Installation

  1. Install BepInEx.
  2. Place the mod DLL in BepInEx/plugins/.
  3. Launch the game. A config file will be generated on first run.

Support & Community

Need Help?

  • Discord servers (see below)
  • Include LogOutput.log from BepInEx folder when reporting bugs

Author: Azumatt

Discord: Azumatt#2625 Steam: https://steamcommunity.com/id/azumatt/

Odin Plus Discord Azumatt's Discord