PortalPeek
See what is on the other side of every portal with a 3D, animated snapshot of the destination. Client-side mod.Portal Peek
See where a portal goes before you step through it.

Every linked portal shows a moving 3D view of the other side. No more guessing which portal is which in your portal room.

How to use it
Walk up to a linked portal and stay nearby for about 5 seconds. The game takes a snapshot of that spot. Once you've been to both ends of the portal, both show the other side. If you're standing in a room full of portals, it grabs all of them one after another.
Captures are automatically taken when first linking portals together.
Snapshots older than 30 minutes get retaken the next time you are near the portal.
To force a re-capture (you built something new, or it's a nicer time of day), stand next to the portal and press Ctrl + F8 and wait a few seconds. The portal on the other end will show the new snapshot.
Mod Info
- Fully client-side.
- It's not a live feed. Weather, time of day and creatures are whatever was there when it was captured.
- Other portal mods may conflict. If another mod also changes what's inside the portal, turn the others off.
- Snapshot folder location:
%USERPROFILE%\AppData\LocalLow\IronGate\Valheim\portalpeek\ - Upgraded/Stone portals not tested yet.
How to install
Install with r2modman or any other Thunderstore mod manager. BepInExPack Valheim required.
Manual install: put PortalPeek.dll in BepInEx\plugins\PortalPeek\.
Settings
In r2modman, open Config editor → tboods.PortalPeek.cfg. With Configuration Manager installed, press F1 in game.
Performance issues? Lower the Preset (High → Medium → Low), set MaxLoadingClips to 1, or turn
off Animated.
| Setting | Default | What it does |
|---|---|---|
| Enabled | on | Show peeks at all |
| AutoCapture | on | Snapshot portals you stand near |
| RecaptureKey | Ctrl+F8 | Re-snapshot the nearest portal right now |
| Preset | High | Low, Medium, High or Ultra. Higher looks sharper but uses more memory and disk space. Custom uses the settings below |
| CustomResolution | 512 | (Custom only) Picture size. 256 is fastest, 512 is sharp |
| CustomDepthDetail | 80 | (Custom only) How accurate the 3D shape is around edges |
| CustomMaxPortals | 12 | (Custom only) How many portals show a peek at once |
| CustomRenderScale | 1.0 | (Custom only) Sharpness of the peek on your screen |
| Animated | on | Off = still pictures. Faster captures and less memory and disk space |
| ClipSeconds, FramesPerSecond | 3, 10 | Length and smoothness of the moving clip |
| LoopMode | Crossfade | How the clip loops. Or PingPong (plays forward, then backward) |
| AnimationDistance | 25 | Only portals this close play their clip |
| MaxLoadingClips | 2 | How many portals load their clip at the same time. The rest show a still picture until it's their turn |
| LookUpDegrees | 12 | Tilts the view up a bit. 0 = no tilt |
| Shimmer | 1 | Magic ripple over the view. 0 = perfectly clear, 2-3 = dreamy |
| EdgeSoftness | 0.2 | How softly the view fades out at the edge of the portal |
| MaxDistance | 40 | Peeks fade out as you get this far away |
| HideEffects | smoke + sparks | Portal effects hidden while a peek shows. The flames stay |
| Openings | wood & stone | Shape of the view for each portal type. Tweak it if the view pokes outside the frame |
| ProximityRadius, SettleSeconds | 12 m, 5 s | How close and how long you need to stand before a snapshot is taken |
| RefreshMinutes | 30 | How old a snapshot has to be before it gets retaken |
| MemoryBudgetMB | 1024 | Memory for loaded peeks. The ones you haven't seen in a while get unloaded past this |
Quality and animation changes only apply once new snapshots are taken.
