--- title: Cross-linking VR description: We are looking at points of friction between various online socialVR platforms and coding ways to make these worlds easier to travel between. image: https://xrdevlog.com/img/crosslink.jpg robots: index, follow lang: en dir: ltr breaks: true disqus: xrdevlog --- # Cross-linking {%hackmd theme-dark %} We're looking at points of friction between various online socialVR platforms and coding ways to make these worlds easier to travel between. Originally published February 2019 ###### tags: `devlog` `vrchat` `traversal` `janus` Objective: Enable avatars and objects to move between virtual worlds. ![Portal hub linking to various other WebVR based worlds](https://i.imgur.com/jKjVBZj.jpg) ## Levels of Traversal Ranking implementations on a sliding scale of interoperability. ### Level 1: Open a Link Point and click to load a page. Example 1: Simple portal [Link](https://vesta.janusvr.com/guide/link) in Janusweb <p align="center"><iframe width="100%" height="400" src="https://vesta.janusvr.com/guide/link/embed" frameborder="0" allowfullscreen></iframe></p> Example 2: Links in Cryptovoxels to other WebVR sites <https://www.cryptovoxels.com/play?coords=W@205E,27S> Example 3: Clicking a link in Janusweb to Cryptovoxels to Janusweb ![](https://i.imgur.com/XdePsCJ.gif =100%x) Example 4: Clicking a link in Cryptovoxels to a networked Aframe site then returning back to Cryptovoxels Video is sped up 2x of going from Cryptovoxels to Aframe and back ![](https://i.imgur.com/Z3m8e37.gif =100%x) --- ### Level 2: Basic Portal In this tier you can drop a portal in a room that everyone sees and when you walk through it the process begins for transporting you into another world. You see this in the [Teleporter component](https://github.com/jbaicoianu/janus-custom-components/blob/master/utils/index.md#teleporter), [Showcase.js component](https://github.com/jbaicoianu/janus-custom-components/blob/master/utils/index.md#showcase), and with VRchat portals. A group of people all going into a standard portal into another world in VRchat. ![](https://i.imgur.com/wWb59LX.gif =100%x) Walking through a [teleporter](https://github.com/jbaicoianu/janus-custom-components/blob/master/utils/index.md#teleporter) from janusweb into another WebVR site. ![](https://i.imgur.com/ffXex33.gif =100%x) Showcase.js opening Networked Aframe site ![](https://i.imgur.com/uwarFZ2.gif =100%x) In this next example the person goes from Janusweb into an Aframe site then *back* to Janusweb: ![Portal loop between Janusweb and Aframe](https://i.imgur.com/w8sWGCy.gif =100%x) Showcase.js opening Babylon.js examples <p align="center"><iframe width="100%" height="400" src="https://vesta.janusvr.com/bepis/portal-hub2/embed" frameborder="0" allowfullscreen></iframe></p> Showcase.js opening VRchat examples <p align="center"><iframe width="100%" height="400" src="https://vesta.janusvr.com/bepis/vrchat-hub/embed" frameborder="0" allowfullscreen></iframe></p> ![Portal hub linking to webvr and native app demos](https://i.imgur.com/89fxIkv.jpg) --- ### Level 3: Seamless Traversal This is what JanusVR currently has built in where you can walk through the internet with portals leading into other websites. ![Stepping between two websites in VR](https://i.imgur.com/uLIEjI5.gif =100%x) Opening a door then walking into another website in janus native. ![](https://i.imgur.com/jDGBBv5.gif =100%x) Faster loading times in the future could make this transition as fluid as playing Portal 2 and work across VR and AR. Here is a clip from passthrough camera mode on the Vive Pro: <p align="center"><iframe src="https://www.youtube.com/embed/shB1ZoJwyms" width="100%" height="400" frameborder="0"></iframe></p> ## Other Examples In this example the user approaches a teleporter component that presents a 2D menu connected to various socialVR world APIs and selecting one of these transports the player into that world. Watch the play interact with a Janusweb transporter component to pick and teleport into a High fidelity location. <p align="center"><iframe src="https://www.youtube.com/embed/-5vI40u9UvQ" width="100%" height="400" frameborder="0"></iframe></p> The next iteration of this component can intergrate into the splash screen or a button that opens a UI which a user can pick a world or drop a portal. ![Splash menu in Janusweb](https://i.imgur.com/tr66aKC.jpg)