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.
PortalPreview
See where a portal leads: a 3D view of the destination inside the frame, lit for its time of day, with true parallax, a spiral reveal and smoke along the edge. Wooden, stone and modded portals. Client-side.
By Ivvty
| Date uploaded | 2 weeks ago |
| Version | 1.5.2 |
| Download link | Ivvty-PortalPreview-1.5.2.zip |
| Downloads | 3441 |
| Dependency string | Ivvty-PortalPreview-1.5.2 |
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.2351README
PortalPreview
Shows the place a portal leads to inside its frame: wooden, stone, and supported portals added by other mods. The destination is captured once as a frozen 3D scene and kept on disk, and the frame becomes a window onto it: the view has true parallax as you move, opens in a spiral as you approach, blends into the frame with a rippling edge and has smoke drifting along the seam.
The view follows the time of day and the weather at the destination: at night the far side is dark under the stars, in the morning the sun rises there too. The captured scene stays frozen, while optional rain and snow move inside the opening. A little of the destination's mist, snow, embers or dust can also drift out of the portal. Between image updates the view is reconstructed from cached colour and depth instead of rendering the scene again. Updating portal images still costs performance, especially while moving around a hub with several visible portals. The cost depends on the scene, resolution, movement and hardware.
Requirements
- Valheim with BepInEx 5 on Windows.
Recommended (optional)
- SteadyFrame: faster portal travel and dungeon entrances, so stepping through a portal takes a moment rather than a loading screen, and fewer hitches around large bases.
- ValheimVisuals: water, reflections, materials and ambient occlusion turned up within the game's own ranges, for a better picture everywhere.
Install
- Close Valheim.
- Put
PortalPreview.dllintoValheim/BepInEx/plugins/.
How it captures
When a portal first shows its view: a portal shows the place at its other end, so that place has to be captured first, and only a place you are at can be.
- A new pair of portals: travel through it once. The portal you leave and the one you arrive at are both captured under that loading screen, and from then on both show their views.
- Two linked portals standing next to each other (a hub): both views appear a moment after linking, no trip needed.
- Portals built before installing the mod, or after a game update: the same as a new pair, one trip through each. After updating to 1.5.2 each view is captured once more on your next visit; until then it shows as before.
- Travel captures run under the teleport loading screen and may extend it. Captures while you play (a hub, manual
frozenportal refresh, or teleports without a loading screen such as InstantTeleportation) are spread over a few seconds, so the game does not freeze. They wait while the hammer, hoe or cultivator is out, so build guides do not end up in the view. Capture time depends on the scene and any texture packs in use. Snapshot updatesdecides when an existing scene is replaced: WhenChanged (default) when you leave through the portal and something around it was built, removed, grown or dug since its last capture; EveryTrip on every departure (except within two minutes of a capture made since you arrived there); Once keeps the scene untilfrozenportal refresh. Outdated or incomplete scenes can still request a recovery capture, including with Once.- A capture waits for a fully black frame and may extend the transition. If it cannot start within three seconds, travel continues with the previous snapshot. A capture already in progress can take longer.
- Wooden and stone portals work in any pairing; the game links them to each other by tag. Portals added by other mods can show previews when their opening can be measured; this does not change their linking or travel rules.
- Saved scenes live in
BepInEx/cache/PortalPreview/PortalSnapshots. Scenes and data nothing uses any more (a portal torn down, an older game version, what a recapture left behind) are removed automatically once per session.
Portal glow colors
Turn on Custom glow color in the Effects section of Configuration Manager and pick the Glow color. It applies at once to every portal: the connected runes, portal light, visible flames and sparks, and the optional Glow edge style. Brightness, activation and fades retain the game's behavior; fog and edge smoke keep their own colors. Existing particles finish their lives before all newly emitted particles use the new tint. Colors also work with portal previews switched off. Turn the option off to restore the game's colors.
The color applies only to your client; other players keep their own setting without a server mod.
Settings
BepInEx/config/ru.ivest.portalpreview.cfg, all live with Configuration Manager. The main ones:
The sections appear with number prefixes in the configuration file and Configuration Manager.
| Section | Setting | Default | Meaning |
|---|---|---|---|
| General | Enabled | true | Show portal views. |
| General | Hardware profile | Auto | Choose image resolution and the number of visible views and resident snapshots from your hardware (Auto/Low/Medium/High/Ultra). Auto also times a few view updates in play: where one takes over 12 ms it uses resolution 768 and Medium quality, over 24 ms resolution 512 and at most 3 views (only for settings left at 0/Auto). Resolution, Max visible portals and Max resident snapshots follow the profile at 0; a positive value overrides that setting. |
| Portal views | Approach radius | 15 | How close to a portal its view opens, in metres. |
| Portal views | Always visible | false | Show views at any distance while in sight. |
| Portal views | One-sided view | false | Show the view only from the front, the side travellers come out of. |
| Portal views | Field of view | 1 | How wide the view through a portal is, 1-3: 1 is a true window, 2 about twice as wide. |
| Portal views | Spiral duration | 1.2 | Seconds the spiral takes to open or close. |
| Portal views | Max visible portals | 0 | Maximum simultaneous views. 0 follows the hardware profile. More views cost more video memory and rendering time. |
| Effects | Custom glow color | false | Tint every portal's runes, light, flames, sparks and Glow edge with Glow color. |
| Effects | Glow color | orange | The portal glow color used when Custom glow color is on. |
| Effects | Portal atmosphere | true | Let some of the destination's mist, snow, embers or dust drift out of an open portal. Older scenes may need a new capture. |
| Effects | Moving weather | true | Animate rain and snow inside outdoor views. Requires Shader reconstruction and a scene captured with this option enabled. |
| Effects | Follow time of day | true | Light the view for the current time and weather at its destination. False keeps the captured lighting. |
| Effects | Hide game flames and fog | true | Hide the connected portal's flames, swirling fog and sparks drawn into the opening. Runes, light and sound stay. |
| Effects | Edge style | Ripple | How the picture meets the frame: Ripple, Vortex, Glow, Smoke or None. |
| Effects | Edge smoke | true | Smoke puffs along the seam between the view and the frame. |
| Quality | Preview quality | Auto | How often the scene image is updated as you move, with Shader reconstruction enabled. High: every 0.3 m. Medium: every 0.6 m. Both update once more when you stop. With several portals in sight only the largest on screen updates while you move; the others update when you stop. Low keeps the opening capture, with less exact parallax up close. Auto uses Medium on the Low hardware profile, High otherwise. |
| Quality | Resolution | 0 | Portal image resolution limit; 0 follows the hardware profile. Higher values make image updates more expensive. |
| Quality | Adaptive resolution | true | Match image resolution to the portal's size on screen, up to the configured limit. |
| Quality | Panorama resolution | 0 | Detail of the distant landscape and clouds in new captures: 0 follows the profile, or choose 512, 1024 or 2048. Higher values use more memory and take longer to capture. Existing scenes keep their resolution until captured again. |
| Quality | Hidden geometry | Auto | Omit hidden geometry from new captures while retaining needed shadows. Auto enables this on Low and Medium profiles. Narrow gaps can show visual errors; changing it requires a new capture. |
| Snapshots | Snapshot updates | WhenChanged | Replace a saved scene when its surroundings change (WhenChanged), on every departure unless it was captured in the last two minutes since you arrived (EveryTrip), or only on request apart from recovery captures (Once). |
| Snapshots | Max resident snapshots | 0 | Scenes kept in RAM. 0 follows the hardware profile; scenes on disk are retained. |
Console (F5): frozenportal status, on, off, refresh (recapture nearby portals), cleanup (remove stale
saved scenes now), lighting (compare the lighting the mod computes where you stand with the game's own).
Errors and rate-limited warnings about preview work over 50 ms reach the log. For detailed captures, loads and frame
costs, use frozenportal log on in the console (off with frozenportal log off), or launch with -portalpreview-log.
Multiplayer
Client-side. Each player captures the portals they use; nothing is sent over the network.
Problems and feedback
Write to me on Discord: https://discord.com/users/683075123816824940. Attach BepInEx/LogOutput.log from the game folder, or from the profile folder with a mod manager (r2modman: Settings → Browse profile folder), and say what you did when it happened. If a portal shows no view, add the output of frozenportal status
typed in the F5 console next to it (the console needs the -console launch option), and start the game with
-portalpreview-log so the log says what the preview did.
CHANGELOG
Changelog
1.5.6
- Changed: creatures are no longer captured into the views, neither near the portal nor in the distant backdrop. A goblin
that hit you as you stepped through stayed frozen in the view for good, because a creature walking off is no reason to
capture the portal again. Animals at a base, corpses, fish and birds are gone from the views as well; traders stay.
A view already saved keeps what it shows until its portal is next captured, or
frozenportal refreshnext to it. - Fixed: a failed capture of a portal no longer holds back reading the view already saved for it.
1.5.5
- Fixed: no grass inside the views next to FarLands 1.3.0 or SteadyFrame 1.3.0, whose background grass build leaves no object for the capture to copy. It needs FarLands 1.4.0 or SteadyFrame 1.3.1. A view saved without grass gets it when its portal is next captured.
- Fixed: a portal view saved while FarLands (or another mod with shaders of its own) was running no longer fails to load
once that mod is off or removed. It used to stay empty and fill the log with
Required shader unavailable. The view now loads without what used that shader (with FarLands, the far land), with one warning in the log; the saved view is not changed, so with the mod back the whole scene is there again. - Fixed: a saved portal view that cannot be read is tried again after its 30-second pause, not at once whenever the portal is linked, retagged or visited meanwhile.
1.5.4
- Fixed with WeatherOverhaul: after restarting the game, portal views could lose objects that repeat in a scene and use the game's Standard shader. Most visible at the Charred Fortress, whose walls were gone, leaving sky and a pale blue area in their place. The view looked right only until the restart, because it was then read back from disk.
1.5.3
- Portal views lit for the destination's time of day and weather now take the game's colours for the sun, the haze in the sunlight and the ambient light. They were converted once too often and came out darker than the place itself.
1.5.2
- Portal views now get the same haze as the world around them with FarLands' clearer air (before, they had none).
- Fixed: wolves, lox, deer, hens, skeletons and most other creatures were missing from portal views because they were
frozen far too small (a wolf a few centimetres tall). Boars looked right. Old views keep the bad picture until they
are captured again;
frozenportal refreshnext to a portal does it at once. - Build guides no longer end up in portal views: the range circles of workbenches, wards and turrets, the placement marker, the line from a workbench extension to its workbench, and the green/red highlight of the piece under the hammer. A view captured while you play now waits until you put the hammer, hoe or cultivator away.
- With Snapshot updates = EveryTrip, quick trips back and forth are captured on every departure. The two-minute pause now applies only to a portal captured since you arrived there, not to one captured on an earlier visit.
- When a departure cannot be captured (for example, a mod speeds up teleports), the log says so once per session and
frozenportal statussays why.
1.5.1
- A portal view captured while you play no longer freezes the game for 1-2 s; the work is spread over a few seconds.
- With mods that remove the loading screen (InstantTeleportation), portal views are updated while you play instead of not at all.
- Fixed: runestones and other location objects in portal views turned white after you walked away.
- Fixed: right after a teleport, the portal you came through showed its view with the wrong depth for a few seconds.
- With several portals in sight, the one you look at gets the sharp view sooner when you turn to it.
1.5.0
- With mods that remove the loading screen (InstantTeleportation), stepping into or out of a portal no longer freezes you for seconds.
- A portal view whose scene cannot be saved is still shown, instead of being captured again every 30 s with a freeze.
- Other players are no longer frozen into portal views in co-op; before, only you were left out.
- Snapshot updates = WhenChanged: a ship rocking near a portal no longer makes it captured again on many trips.
- Field of view setting: portals can show a wider view of the destination, up to three times; 1 keeps the true window.
- On a client of a server, the cleanup report says that saved scenes of portals that are gone are only removed on the host.
- Higher FPS near several portals: while you move, only the largest view on screen keeps re-rendering; the others sharpen when you stop.
- Preview quality now defaults to Auto (High stays High on most PCs, Medium on the Low hardware profile).
- Slow graphics cards: the Auto profile measures how long a portal view update takes and makes views lighter if needed.
- Fewer stutters near portals on slow cards: view updates are spread out so they take at most a quarter of the frame time.
- Download about 300 KB smaller.
- Settings window: the most wanted settings first, technical limits last.
1.4.0
- Snapshot updates = WhenChanged no longer recaptures a portal because a creature nearby made a sound. Short-lived sound and effect objects the game does not save are ignored. A portal near a wandering creature was captured again on most trips, holding the teleport for about a second.
- Ready for WeatherOverhaul (not released yet): portal views follow its night ambient boost and its air. A destination at night is as bright as the place itself, and by day it gets the same haze as the place around it. Without WeatherOverhaul nothing changes.
- Portal glow color: Custom glow color and Glow color (Effects, Configuration Manager) tint every portal's runes, light, visible flames and sparks, and the Glow edge style. Applies at once; off restores the game's colors.
1.3.6
- Version bump only; the mod behaves as in 1.3.5.
1.3.5
- With Shader reconstruction on, portal opening and closing use a fixed mesh and animate in the shader instead of clipping the mesh every frame.
- Deferred teleport captures no longer load saved scenes while you run around a hub, so the scenes used by visible portals stay in memory.
- Cache cleanup keeps every scene still in use when a file is locked, missing or damaged, and checks the whole cache before deleting anything.
- Water hidden behind a hull no longer replaces the scene's depth, in central captures and in views from the observer.
- Deferred texture copies survive archive reloads and restarts. Snapshot updates = Once still recovers incomplete archives.
- Portal frames with opaque and transparent materials on the same renderer are measured correctly; transparent opening effects no longer count.
- Scene image refreshes still add rendering cost, especially around a portal hub. This release reduces the overhead but does not remove the FPS difference between previews on and off.
1.3.4
- Fixed a dark cut at the edge of the distant panorama with Shader reconstruction on: every captured view now uses the same panorama fog.
- Portal views captured with a texture pack that was later removed (or added) load quickly and show grass properly.
- Saving a portal scene no longer interrupts old-scene cleanup, and cleanup no longer blocks a save.
- Distant landscape in portal views is hazed like the game's own instead of pale and blue; each view is captured again on your next visit.
- Water in portal views is the game's own water, with reflections of the scene around it.
- Reflection updates are spread across frames to reduce spikes; the old reflection stays visible until the new one is ready.
1.3.3
- Fixed about a minute of stutter two minutes after entering a world with many saved portal scenes.
1.3.2
- HD texture packs: teleporting could freeze the game for minutes and disconnect you from the server. Saved scenes are several times smaller.
1.3.1
- Download is about a megabyte smaller: unused shader variants removed. Nothing else changes.
1.3.0
New
- Portals of other mods show their view too; the mod measures each one's opening from its frame.
- Portal atmosphere: a little of the far side's mist, snow, embers or dust drifts out of an open portal.
- Moving weather: rain and snow move inside outdoor views.
- Dry under roofs: floors inside houses no longer look wet in rain.
- Sharper at an angle: better texture detail in oblique views.
Smoother
- Torch and fire shadows in a view are drawn once instead of on every update: up to 41% faster near bases.
- Optionally, what the portal's opening cannot show is not captured (Hidden geometry; on for Low and Medium).
- Cheaper reconstruction, better capture coverage and smarter refresh order at the same quality.
Settings
- Sorted into sections: General, Portal views, Effects, Quality, Snapshots. Your values are moved automatically.
- Portal atmosphere, Moving weather and Hide game flames and fog are on by default; the latter now also hides the sparks drawn into the opening.
- New: Portal atmosphere density, Hidden geometry, Limit archive blob size.
Fixed
- HD texture packs (8K textures): portals showing one got no view.
- Some repeated objects gained shadows they should not have.
Updating
- Replace the DLL with the game closed. Each view is captured once more on your next trip through its portal.
1.2.0
Views look more like the real place
- Water now looks like the game's water: its own colours from the shore to deep sea, reflections of the trees, shore and sky around it, and lighting for the time of day. It used to be a pale grey sheet.
- Ambient occlusion: views get the game's soft shading in corners and under foliage (with SSAO on), so they no longer look brighter and flatter than the place itself.
- Mistlands: trees, Yggdrasil roots and logs, and anything built of Yggdrasil wood near a portal now appear in the view instead of as a flat picture far behind.
- Stepping out of a portal: it already shows its view when the loading screen lifts, instead of opening a few seconds later.
Smoother
- Much less stutter: views are captured under the teleport loading screen instead of while you walk around, and captures are about twice as fast. The first visit to a portal can keep the loading screen up a little longer.
- Lighter on the GPU: less work and video memory while you move near portals, especially on the Low and Medium hardware profiles.
New settings
- Snapshot updates (replaces Capture mode): WhenChanged (default) updates a view when you leave through the portal
and something around it was built, removed, grown or dug; EveryTrip updates it on every trip; Once keeps it until
frozenportal refresh. Your old choice is carried over. - Preview quality (High / Medium / Low / Auto): how often a view is redrawn as you move. Medium and Low cost less on weaker graphics cards; the picture stays sharp.
- One-sided view: show the view only from the side travellers come out of.
- Portal hubs: hardware profiles show more views at once (Low 2, Medium 4, High 6, Ultra 8).
- Resolution, Max visible portals and Max resident snapshots can now be set one by one on top of any hardware profile (0 follows the profile). Custom is no longer needed; if you used it, your values are kept.
Fixed
- The barrier of a shield generator at your base showed inside portal views.
- A wooden portal seen from behind had a gap between the view and the frame.
- The inside of ships in a view was filled with the colour of water, and the sea bottom looked dark.
- Walking through a portal while its saved view was still loading could leave the old view in place.
- Portals that lead to a portal with another name work with XPortal and XPortalNetworks.
- Safer after game updates: a change in the game no longer stops every capture or leaves the mod half-working.
Updating
- Replace the DLL while the game is closed. Settings and saved views carry over; each view is captured once more on
your next trip through it (or right away with
frozenportal refreshnext to the portal). - A new pair of portals shows its views after your first trip through it; two linked portals standing next to each other show them right after linking.
1.1.4
- Fixed: textures and surface lighting in portal views could look flat or wrong after restarting the game.
- Fixed: portals near each other could flicker between which one shows its view.
- Fixed: a closing portal view could disappear before its spiral finished.
- Nearby water is now part of the portal view instead of being hidden behind the terrain.
- Full-resolution textures are kept, including texture packs (these can use more disk space).
- New console command
frozenportal log on|offfor detailed timings. - Saved scenes from this version cannot be read by older versions of the mod. No cache reset is needed.
1.1.3
- Fixed: building ghosts and your own lights no longer appear in portal views.
- Fixed: texture-pack changes are picked up correctly by new captures.
- Fixed: some flickering and mismatched lighting while a portal view was being rebuilt.
- Lower memory use while saving a capture.
- Capturing during teleport waits for a fully black screen and gives up after three seconds, keeping the old view.
- Use
frozenportal refreshnext to a portal to remove ghosts or lights already baked into an older view.
1.1.2
- The distant landscape and clouds behind a portal view are twice as sharp on the High and Ultra hardware profiles and no longer shimmer from afar.
- New setting
Panorama resolution(0 = by hardware profile, 512, 1024 or 2048). Higher values are sharper but make each capture longer and use more video memory. - Existing views keep their panorama until the portal is captured again.