By Daniel Ablett, Andrew Cunningham, Gun Lee and Bruce Thomas
A toolkit for portals in Unity, specifically intended for virtual reality (but also works in standard mono). Portal rendering is implemented using Unity's Universal Render Pipeline (URP) and does not require custom shaders for objects. This toolkit was designed to be easily added to existing projects with minimal effort.
- Multi-pass and single-pass stereo support
- Stencil and render texture portals
- "Infinite" recursion
- Optimised culling through portals
- Seamless teleportation through portals
- Physics interactions through portals
- XR Interaction Toolkit support for interacting through portals
- A variety of portal interaction techniques:
- Point & Portal - Place portals at a distance quickly using a pointer
- Adaptive Portals - Self-adjusting portals that respond to user interactions
- Portal Overlays - Overlays that support users understanding of portals
- Unity 2020.3.32f1 or similar
- Universal Render Pipeline (URP)
- Unity's XR Interaction Toolkit (Optional)
- Add the
PortalRenderFeature
to your URP Renderer - Add a
BasicPortalPair
prefab (orXRPortalPair
prefab for VR) to your scene - Play and interact with your first portal!
The toolkit includes example scenes demonstrating:
- The Point & Portal interaction technique
- Adaptive Portals interaction techniques
- Portal Overlays visualisation techniques
This toolkit was developed in conjunction with the following research papers:
- Portal Rendering and Creation Interactions in Virtual Reality
- Point & Portal: A New Action at a Distance Technique For Virtual Reality
- Adaptive Portals: Enhancing Virtual Reality Interaction Spaces With Real-Time Self-Adjusting Portals
- Simultaneous Presence Continuum: Portal Overlays for Overlapping Worlds in Virtual Reality