Nexus is a federated, open source, hackable VR social platform and protocol. Project members include Person1 , Person2 , and Person 3 . The representative of the project is Person1. Nexus' current design is subject to change; we are still in the rough prototyping stage and we expect to "ship-of-thesus" our current design quite a bit. The goal of Nexus is to provide an open, extendable, VR social platform. To do this, Nexus separates its logic into individual WASM scripts and a networking API based on the ECS model. Everything communicates using the gLTF and VRM standards: VRM for avatars, and gLTF for objects and worlds. Several different actors are present within the Nexus architecture: A “world” is a collection of WASM scripts and gLTF models able to be reproduced. It is intended for users to be able to create worlds, and to share them, allowing others to use the worlds as templates from which to create servers. A “server” is a running instance of a world; how servers interop with other servers is yet to be determined. A “client” is the front-end application that can connect to any Nexus server and interact with other clients over the server. The current plan is to provide almost everything using WASM scripts. WASM scripts have two categories so far; there are server scripts, that just run on the server, and client scripts, which are sent over to the client for the client to run locally and then interact with the server using the networking API. It's possible that we will come up with some kind of server-client dual script type, in which clients run a script to keep themselves up to date with the server. The server checks to make sure its results line up with the clients’ in order to limit abuse. Camera and physics (gravity, collision, buttons, etc.) interactions, IK and FBT, and GUI systems (server discovery interfaces, friends lists, etc.) will all be provided by WASM scripts. We will provide default implementations, but the community will be free to hack on those scripts or create their own from scratch to provide the same or new functionality. This creates an extremely extensible platform. Using WASM means that, as we go into the future, more languages could be utilized to write social vr, or non-social vr experiences, such as games, a scene editor, media creation tools, etc. This system enables people to to write clients and servers in other languages or engines than Bevy, which we are currently using for our standard implementation. As long as clients or servers properly respect the WASM scripts, everything should work across different implementations. If someone creates a Nexus server SDK in Unity, they will be able to take advantage of much of Unity to create Nexus worlds. The fact that we use WASM also means that game developers can create games or experiences in normal, 2D IDEs, such as writing a game in Rust, instead of having to deal with our scene editor. That being said, we do plan to make a scene editor in Nexus, but this is a tentative, far-future plan. The current plan is to use IPFS to provide sharing of WASM scripts, models, and whatever else may materialize in the future. Theoretical work on a permissions system has not yet begun. The aim is to provide an open source VR social platform where people can collaborate and communicate with each other, and a game engine-like base to build social VR applications. Our Minimum Viable Product is gLTF models loaded in for avatars, downloading and loading, basic voice chat, and synced worlds. The timespan of this project to full completion is several years. If all goes according to plan, an MVP should be only a few months off. The server and client implementation will be licensed under the GplV3, but all the base scripts, for things like physics, inverse kinematics, and the basic UI implementation will be licensed under the Expat License (also known as the MIT License).