We need your help

This won’t be a complete article I need your help! I will keep updating this list every month with your help.

Feel free to share this link, add comments/tips or additions to the original source for this article here: https://docs.google.com/document/d/1xqEMPTZLoRdDed1TBf-5sRlGafehCyhtFXgmVuBXqYY/edit?usp=sharing

To understand what is needed, We need to consider what we usually need for a Unity or Unreal Engine VR experience.

Low-level access

SteamVR SDK or Oculus SDK to the hardware capabilities

WebXR API: https://immersive-web.github.io/webxr-samples/

WebXR Hello world: https://mixedreality.mozilla.org/hello-webxr/

Teleportation and Movements Systems

Moving around the scene with different method, being seated or fully moving around.

https://github.com/fernandojsg/aframe-teleport-controls need fix

grab the world: https://github.com/fernandojsg/aframe-camera-transform-controls-component

swinging hands movement: missing

joystick movement with FOV reduction: https://github.com/donmccurdy/aframe-extras/tree/master/src/controls#usage to test out and fix

Controllers and Input manager

Being able to show any type of controller used providing also input mechanism

https://github.com/immersive-web/webxr-input-profiles

WebXR controllers single view showcase: https://immersive-web.github.io/webxr-input-profiles/packages/viewer/dist/index.html

WebXR demo with all controllers exchangeable overriding the current one being used: missing

Grabbing/Throwing objects

Objects react to physics and simple interactions without coding:

object with physics when taken:

object without physics when taken, pass through:https://github.com/aframevr/aframe/blob/master/examples/showcase/tracked-controls/components/grab.js to test

throwable object with velocity angle of the hand

Buttons and Toggles

With different shapes or movements to build simple event just with a simple OnAction then EventCallback:

various shapes of buttons and toggles pure 3D: https://github.com/caseyyee/aframe-ui-widgets#readme to test

more UI things in VR: missing

Scene management

Occlusion culling and different areas loading at different times to reduce the quantity of polygons loaded on the GPU or load different level parts:

all missing just frustum culling automatic with three.js

Multiples Scenes management.

Different scenes where the player can jump and move around, like game levels.

Multiplayer systems

Being able to join other players in the same space:

Graphics Quality

Ambient Occlusion, Color Grading, Reflections, Dynamic Lighting:

https://github.com/wizgrav/aframe-effects to test

Color grading in three.js: https://threejs.org/examples/#webgl_tonemapping to test

Reflections/Mirror: https://threejs.org/examples/webgl_mirror.html to test

Ambient Occlusion: https://threejs.org/examples/webgl_postprocessing_sao.html to test

Speed and Debug

Being able to understand what’s slowing down the games with Stats panel in Unity:

FPS framerate in VR entity: https://www.npmjs.com/package/aframe-fps-counter-component to test

Editor

To manage different scenes, managing also 3D assets, textures, sounds and configurations:

any programming editor but would need extra tabs and settings per file as unity does with .meta so missing

Quick Iterations

Unity provides instant feedback running the Play Mode:

this is easy, the web is always fast to reload as a web page but might need hot reload environments like React but need simpler HTTPS environment for developers or on Quest devices

Prefabs

Easy management of entities and assets like with Prefabs or Standalone components:

simple guide to build a-frame components without forgetting them

IK and Ragdools

IK for hands or feet and Ragdools for other players/npc:

Offline and Installable

Being able to install the App and keep the user progress saved into it like any Native App:

PWA Workbox: https://github.com/jeromeetienne/aframe-pwa-with-workbox to test

more PWA: https://github.com/mdn/pwa-examples/tree/master/js13kpwa to test

Feel free to share this link, add comments/tips or additions to the original source for this article here: https://docs.google.com/document/d/1xqEMPTZLoRdDed1TBf-5sRlGafehCyhtFXgmVuBXqYY/edit?usp=sharing