Ability to customize various aspects of using portals such as disabling the black transition screen or manipulating load times. Improves teleportation logic further by making short distance portals always instantaneous and calculating a destination angle as reflection of the angle at which the entrance portal was crossed.
Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou are not allowed to upload this file to other sites under any circumstances
Modification permissionYou must get permission from me before you are allowed to modify my files to improve it
Conversion permissionYou are not allowed to convert this file to work on other games under any circumstances
Asset use permissionYou must get permission from me before you are allowed to use any of the assets in this file
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou are not allowed to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
This author has not credited anyone else in this file
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Changelogs
Version 0.2.7.7
Add distance to log.
Increased precision of time log.
Safely speedup teleportation by skipping initial frames.
Version 0.2.7.5
Slightly increased invulnerability time after instant teleportation (active-area portals) from 250 milliseconds to 500 milliseconds to address fall damage issues.
Version 0.2.7.4
Fix teleport waiting for 'ConsiderAreaLoadedAfterSeconds' to be reached even after area is ready.
Version 0.2.7.2
Hotfix for taking falldamage in edge cases.
Version 0.2.7.1
Add config 'MultiplyDeltaTimeBy' (default 3)
Add config 'DisplayMessageLogs' (default false)
Fix teleport duration config being applied when not teleporting.
Changed teleport patch to be prefixed and conditioned.
Version 0.2.6.7
Fix players receiving collision or fall damage when using close instantaneous portals.
Version 0.2.6.5
Fix players spawning on roofs when using same-area portal connections.
Version 0.2.6.4
Rename config section [RiskArea] to [TimeManipulation]
Add config 'DecreaseMinLoadTimeByPercent' to [TimeManipulation]
Removed config 'ForceInstantiateExitPortal'
Change 'EnablePortalBlackScreen' default value to true
Fix CanMove patch not being applied properly.
Fix spawning below or above the target ground [u]with default config[/u] on close portals.
Improved teleportation logic with transpilers:
Improved calculations are inserted and passed on.
Original logic handles the process of teleportation for distant portals.
Version 0.2.5.2
Fix being able to see the distant teleportation through the black screen fade-in if it is enabled. Now waits for the black screen before speeding up teleportation.
Improved performance by transpiling code instructions more precisely.
Version 0.2.5
Fix cases where long load times would cause the player to fall through meshs.
Add config 'EnablePortalBlackScreen'
Add config 'ConsiderAreaLoadedAfterSeconds'
Add config 'ForceInstantiateExitPortal'
Add support for Nexus Update Check
Version 0.2.0
First public release
Donations
No donations accepted
A BepInEx/HarmonyX mod for Valheim.
Immersive Portals reduces the artificial waiting time from using portals. It does so by implementing a custom teleportation method.
It calculates a destination position based off of the player's position and rotation when entering the portal giving a mostly smooth transition.
Configuration
Default teleport speed settings try to be as save as possible for the average user to avoid collision logic not being loaded on arrival. If you believe your PC has enough power to savely go even faster you have to adjust the configs yourself!
The config file will be auto-generated on game start. To change it I highly recommend installing BepInEx.ConfigurationManager. It allows you to change the config while In-Game. This is especially good for fitting the config 'ConsiderAreaLoadedAfterSeconds' to your loading times!
## Indicates a threshold in seconds after which an area should be considered sufficiently loaded (ie. lazy approach) to allow the teleportation to end prematurely. # Setting type: Double # Default value: 3.75 ConsiderAreaLoadedAfterSeconds = 3.75
## Decreases the artificial minimum teleportation duration hardcoded by the developers (Iron Gate). 100% indicates removal of the minimum wait time and means that the only condition for arrival is the area load state. Value will be clamped in the range 0-100. # Setting type: Int32 # Default value: 50 DecreaseMinLoadTimeByPercent = 50
## Multiplier of the speed in which the teleport time increases until the artificial minimum duration is reached. Value will be clamped in the range 1-10. # Setting type: Int32 # Default value: 3 MultiplyDeltaTimeBy = 3
Recommended: Install via Vortex (aka. Nexus Mod Manager). Manual: 1. Extract the mod archive (.zip). 2. Find the subfolder called "ImmersivePortals" and move the entire folder to your BepInEx plugin folder. (..\Valheim\BepInEx\plugins)
Notes
PCs using older hardware may encounter popping in of objects. You can reduce this by adjusting the configurations and enabling the black screen fade. Black screen won't affect overall teleportation speed. The teleportation speeds up after the black screen is fully opaque.
When I say "speeding up" what I really mean is decreasing the artificial minimum load time of the teleportation duration set by the developers (Iron Gate). The developers have hardcoded in arbitrary high numbers that keep you in the teleport black screen to make sure you do not see objects popping in. However, those numbers end up creating uneccessary down time for most users with modern computers. This mod reduces this minimum teleportation time by a customizable percentage (default 50%).
Todo
⬜ - render destination view. 50% ✅ - Make it so player is frozen until flooring has been detected (fix for low-end hardware taking too long to load floor to stand on.) ✅ - add config to fallback to loadscreen when exit portal is outside active area (fix low-end hardware, avoid pop-in of objects.)