---
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.

## 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

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

---
### 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.

Walking through a [teleporter](https://github.com/jbaicoianu/janus-custom-components/blob/master/utils/index.md#teleporter) from janusweb into another WebVR site.

Showcase.js opening Networked Aframe site

In this next example the person goes from Janusweb into an Aframe site then *back* to Janusweb:

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>

---
### 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.

Opening a door then walking into another website in janus native.

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.
