Skip to content

Commit

Permalink
Merge branch 'main' of https://github.com/dooly123/Basis
Browse files Browse the repository at this point in the history
  • Loading branch information
dooly123 committed Dec 1, 2024
2 parents 38377b0 + 8539f5f commit 9807d7b
Showing 1 changed file with 46 additions and 31 deletions.
77 changes: 46 additions & 31 deletions PHILOSOPHY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,64 +2,79 @@

## What is Basis?

If you’re here, you probably have some familiarity with VR, whether as a user or a creator. In simple terms, Basis is:
The simple answer is short. Basis is anything you want it to be, minus the hard foundational work that limits your creativity or agency.

- A **set of libraries** designed to help creators bootstrap their VR projects.
- A **reference implementation** that demonstrates how these components can work together.
- A **starting point** for game developers who may feel overwhelmed by the technical demands of VR but have the vision to create something extraordinary with the right tools.
Want to make a game? Focus on the art and gameplay.

The idea behind Basis is that a rising tide lifts all ships. By providing a foundation to support VR projects, it allows creators to focus on their strengths while minimizing the impact of their weaknesses.
Want to hold an event? Build the venue.

But to understand Basis fully, it’s equally important to define what it is *not*.
Feel overwhelmed by the technical demands of VR but have an idea you want to make real? Use Basis to help you do that. Use it as a starting point to build what you want.

## What isn’t Basis?
### Technically...?

Basis is **not** a platform. While it provides a robust set of tools and a clear starting point, it intentionally avoids the features typically associated with platforms:
Basis is a **set of libraries** designed to help you bootstrap your VR projects. Basis is also a **reference implementation** that demonstrates how these components can work together.

- **No In-App Purchases or Freemium Features**: Basis isn’t designed for monetization. You won’t find support for in-app purchases, virtual economies, or paid content distribution.
- **No Centralized Social Layer**: There’s no global network, matchmaking, or pre-built social system. Projects using Basis are entirely self-hosted.
- **No Content Delivery Network (CDN)**: Basis doesn’t include upload services for sharing avatars or worlds. These logistics are left to individual creators.
It is built on top of Unity and C#, and the reference implementation in particular makes use of the Universal Rendering Pipeline (URP) for rendering, and targets IL2CPP.

This “anti-platform” stance isn’t driven by hostility toward these features but is instead a deliberate design choice. Building and maintaining centralized features requires first-party financial and technical support. If done poorly, these features would burden the project with maintenance issues. If done well, they’d likely be closed off and monetized—defeating the purpose of Basis as an open toolset to empower creators.
## Who is Basis for?

## Is this just VRChat under a different name?
The simple answer: creators who want to bypass a lot of the core work needed to bring up a VR game at all.

No, and it’s important to clarify why.
In principle, there are three major building blocks necessary for a good VR experience (and a fourth, which will be introduced later)

Basis has a deep appreciation for VRChat and similar platforms. These platforms provide invaluable social infrastructure through marketing, moderation, safety, and community-building efforts. These efforts extend far beyond the technical foundation of embodiment, presence, and spatialization—the building blocks of VR experiences.
- **Presence**: The feeling, based on your passive senses, that you exist in a space.
- **Spatialization**: The feeling that phenomena (especially your actions) exist in, and have an active effect on, objects in physical space.
- **Embodiment**: The association between a representation of a body and the real body itself, created by continuous feedback between action and reaction within a physical body.

Basis focuses on that foundation. It deliberately avoids the additional responsibilities of creating or maintaining a social network. There is no current plan for the core Basis project to provide **any** social infrastructure, such as matchmaking, content moderation, or monetization systems. Those elements fall outside its scope.
Basis aims to offer these building blocks to creators.

## But isn’t this basically a “do-it-yourself” VRChat replacement?
## The controversial part

Some might see Basis as a starting point for building a platform-like project. However, let’s be clear: Basis is not a shortcut to competing with established platforms like VRChat. Building and maintaining a successful platform is an immense undertaking, requiring years of development, infrastructure, and user trust.
A rising tide lifts all ships. By providing a foundation to support VR projects, creators can focus on their strengths while minimizing the impact of their weaknesses. But not all features are created equal. There are some features which empower creators but which it is best to plan to avoid including as a part of the core project.

While it’s true that Basis could theoretically serve as a fallback in a “social VR dark age” (e.g., if major platforms disappeared), its focus is on **constructive creativity, not reactionary goals**. It cannot last if its sole purpose is as a hedge against other platforms, rather than a way to empower creators to explore new ideas and directions.
### Anti-plans

In the end, Basis is about flexibility and agency. It provides the tools and leaves the rest to creators. With Basis, you are free to take full control of your project—but with that freedom comes the responsibility to manage and maintain your own implementations.
> [!IMPORTANT]
> To be **absolutely clear**: these are **anti-plans** and **design choices** for **the core project**. This sets expectations on **core project development**. Basis is anything you want it to be, as long as you take responsibility for your additions. There is no desire to intentionally obstruct third-party work.
## Why so many words to say you're not VRChat?
- **No plans for In-App Purchases or freemium features**: Basis does not have plans to monetize the client. Engineering systems for in-app purchases, virtual economies, or paid content distribution is not a goal for the core project.
- **No plans for a centralized social layer**: There is no global network, matchmaking, or pre-built social system. Projects using Basis's reference implementation are entirely self-hosted.
- **No plans for a content delivery network (CDN)**: Basis does not include upload services for sharing avatars or worlds. These logistics are left to individual creators. Add-on services integrated by third parties are neither automatically included nor excluded.

Because it's come up, from both disgruntled players and creators, as well as from hesitant or concerned professionals, it is necessary to confront directly.
In principle, building and maintaining centralized features requires centralized financial and technical support. If done poorly, these features would burden the project with maintenance issues. If done well, they would likely be closed off and monetized, defeating the purpose of Basis as an open toolset to empower creators.

## The Bottom Line
### Social features

Basis is *not* a competitor to VRChat or any other platform. It is a framework—a seed—designed to give creators a foundation on which to grow their own ideas. It’s not here to replicate existing ecosystems but to open new doors for exploration, experimentation, and innovation.
Basis is not a platform, but for as long as Basis aims to provide functionality essential for VR experiences, particularly networked VR experiences, comparisons to social VR platforms are unavoidable.

## But wait, there is clearly evidence of some features that look rather social!
We believe that on top of presence, spatialization, and embodiment, there is a monumental amount of work involved in producing a social VR platform. Those elements include a great deal of social infrastructure. This includes, but is not limited to:

This is a bit more nuanced and might not be immediately obvious. Adjacent to Embodiment, Presence, and Spatialization is the concept of "Identity." Let’s break these terms down:
- Moderation
- Safety and security measures
- Community-building features
- Active outreach to improve all of the above
- Marketing

These efforts extend far beyond the technical foundation of embodiment, presence, and spatialization. Basis is focused on that foundation.

Building and maintaining a successful platform is an immense undertaking, requiring years of development, infrastructure, and user trust. The additional responsibilities of creating or maintaining a social network are far outside the scope of Basis, and far too much to take on. There is no current plan for the core Basis project to provide these systems.

> [!NOTE]
> Nothing stops others from doing so themselves, of course, but it is a far greater challenge than most expect.
tl;dr: Basis is not a shortcut to competing with established social platforms. Yes, in a “social VR dark age” (e.g., if major platforms disappeared), Basis could theoretically be used as a tool to restore the bare bones of social VR, but fundamentally, Basis is about flexibility and agency. It provides the tools and leaves the rest to you. You are free to take full control of your project - and with that freedom comes the responsibility to manage and maintain it.

### Social features, pt. 2

In addition to, presence, spatialization, and embodiment, there is a fourth foundational element to VR experiences, in particular when they are networked:

- **Presence**: The feeling, based on your passive senses, that you exist in a space.
- **Spatialization**: The feeling that phenomena (especially your actions) exist in, and have an active effect on, objects in physical space.
- **Embodiment**: The association between a representation of a body and the real body itself, created by continuous feedback between action and reaction within a physical body.
- **Identity**: The ability to maintain a consistent representation of yourself that can be shared with and perceived by others.

A key component of existing in a VR space where you expect to interact with others (e.g., a four-player co-op game) is having a name and an avatar (or avatars) that you can carry with you across experiences.

By far the easiest way to represent this is through a centralized infrastructure and API where users log in and upload an avatar. While pragmatic, this approach ties identity to centralization. Decentralized solutionslike those seen in BlueSky or Mastodonaim to decouple identity from centralized login systems, and are worthy of research.
By far the easiest way to represent this is through a centralized infrastructure and API where users log in and upload an avatar. While pragmatic, this approach ties identity to the centralization of social infrastructure. Decentralized solutions - like those seen in BlueSky or Mastodon - aim to decouple identity from centralized login systems, and are worthy of research.

This is an area of active investigation by a working group of people associated with the project, but this work is not contained within Basis itself.
This is an area of active investigation by a working group of people associated with the project, but does not have the intent to create a centralized social platform or infrastructure.

## I come from the future. You lied!

Expand Down

0 comments on commit 9807d7b

Please sign in to comment.