Skip to content

Commit 7ce5fee

Browse files
committed
feat: created prop section and added platform clarity
1 parent 1799cd8 commit 7ce5fee

7 files changed

Lines changed: 208 additions & 1 deletion

File tree

content/docs/avatar/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ Basis uses the `.BEE` file format for avatars, which packages your compiled asse
4949

5050
- **Humanoid Rig Support**: Standard Unity humanoid rigs with automatic bone mapping
5151
- **Blend Shapes**: Full support for facial expressions and visemes
52-
- **Multi-Platform**: Build for Windows, Linux, and Android
52+
- **Multi-Platform**: Build for Windows, Linux, Mac, Android and iOS
5353
- **Jiggle Physics**: Optional physics simulation for dynamic elements
5454
- **Face Tracking**: Optional eye and face tracking support
5555
- **URP Shaders**: Compatible with Unity's Universal Render Pipeline

content/docs/meta.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"---Guides---",
99
"controls",
1010
"avatar",
11+
"prop",
1112
"world",
1213
"project",
1314
"server",

content/docs/prop/building.mdx

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
title: Building
3+
---
4+
5+
import { Callout } from 'fumadocs-ui/components/callout';
6+
7+
## The Basis Encrypted Extension (BEE) File
8+
9+
Basis stores user-generated content as a .BEE file which contains your compiled asset and metadata about it. Each generated .BEE file comes with a randomly generated password used to access it, both of which can be found in the root directory of your Unity project at: `Basis\Basis\AssetBundles`.
10+
11+
## Avoid Duplicate GameObjects
12+
13+
- By default, the BasisAvatar component will rename all duplicate name GameObjects within the avatar's hierarchy.
14+
15+
<Callout type="warning">
16+
If you enable `Do not auto-rename bones` in the Processing Options. Ensure that there are **NO** duplicate named GameObjects within the hierarchy of your avatar, including the armature, as this will cause your avatar to fail to load after building the AssetBundle.
17+
</Callout>
18+
19+
## Build the AssetBundle
20+
21+
- At the bottom of the Basis Prop component on your gameObject, check that the appropriate build targets for your content are enabled. Basis supports various target platforms, including: Windows, Android, Mac, Linux and IOS.
22+
- Press the 'Create Prop Bee File' button and wait for this process to complete.
23+
24+
<INSERT IMAGE REFEREENCE HERE>
25+
26+
- The results will be opened in a new window automatically as shown below.
27+
28+
<INSERT IMAGE REFERENCE HERE>
29+
30+
- Depending on your hardware, each platform may take an average of a minute or two to build the first time. Subsequent builds should take less time due to caching. Building for all platforms will likely take additional time and increase the overall file size.
31+
32+
<Callout type="info">
33+
Nice to know:
34+
35+
- You can conveniently use a custom password for your generated BEE file instead. This can make things easier to remember if you prefer a single password to use for different BEE files.
36+
37+
- If you prefer, you can also replace the generated .BEE file name with something more easily memorable. Keep in mind that reusing the same name will result in any previous version being replaced by the new one!
38+
39+
40+
<INSERT IMAGE REFERENCE HERE>
41+
</Callout>
42+
43+
{/* - Once the .BEE file has been created, you can load this via the `BootManager` prefab found at `Packages > Basis SDK > Prefabs > Boot`.
44+
45+
<INSERT IMAGE REFERENCE HERE>
46+
47+
- You can place the location of the .BEE file under the `Combinned URL` fields as shown in the example below, along with the `Unlock Password` provided in the `dontuploadmepassword.txt` file generated within the `/AssetBundles/` directory.
48+
- Make sure to tick `Is Local` if the file is not a URL.
49+
50+
<INSERT IMAGE REFERENCE HERE>
51+
52+
- Load the `Initialization` scene from `Packages > Basis SDK > Scenes`, and then hit Play. */}

content/docs/prop/index.mdx

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
title: Introduction
3+
---
4+
5+
import { Card, Cards } from 'fumadocs-ui/components/card';
6+
7+
## Overview
8+
9+
Props provide a vast array of social VR experience dynamics with a Basis framework project. This documentation will guide you through creating, building, uploading, and customizing your own props using Unity and the Basis SDK.
10+
11+
Basis uses the `.BEE` file format for props, which packages your compiled assets and metadata into a single, easy-to-share file. Props support blend shapes, materials & scripting.
12+
13+
## Quick Start Guide
14+
15+
<Cards>
16+
<Card
17+
title="Setup"
18+
description="Set up Unity and prepare your prop"
19+
href="/docs/prop/setup"
20+
/>
21+
<Card
22+
title="Building"
23+
description="Build your prop into a .BEE file"
24+
href="/docs/prop/building"
25+
/>
26+
<Card
27+
title="Uploading"
28+
description="Upload and load your prop in Basis"
29+
href="/docs/prop/uploading"
30+
/>
31+
</Cards>
32+
33+
## Key Features
34+
35+
- **Humanoid Rig Support**: Standard Unity humanoid rigs with automatic bone mapping
36+
- **Blend Shapes**: Full support for facial expressions and visemes
37+
- **Multi-Platform**: Build for Windows, Linux, Mac, Android and iOS
38+
- **URP Shaders**: Compatible with Unity's Universal Render Pipeline
39+
40+
## Requirements
41+
42+
- **Unity**: Unity 6 (latest supported version)
43+
- **Model Format**: FBX with humanoid rig
44+
- **Shader**: URP-compatible shaders (Lit, Poiyomi, lilToon, etc.)
45+
- **Hosting**: Remote URL hosting for .BEE files (max 100MB for Google Drive)
46+
47+
## Workflow Overview
48+
49+
1. **Import** your avatar model into Unity
50+
2. **Configure** the rig and skinned meshes
51+
3. **Add** the Basis Avatar component
52+
4. **Build** the .BEE file for your target platforms
53+
5. **Upload** to a hosting service
54+
6. **Load** in Basis using the URL and password

content/docs/prop/meta.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"title": "Props",
3+
"icon": "Rocket",
4+
"pages": ["index", "setup", "building", "uploading"]
5+
}

content/docs/prop/setup.mdx

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
title: Setup
3+
---
4+
5+
import { Callout } from 'fumadocs-ui/components/callout';
6+
7+
## Set up the Unity Editor
8+
9+
- As per the [Getting Started](/docs#installing-unity) section for installing the latest supported Unity editor version and acquiring the Basis framework.
10+
- Open Unity Hub and add an existing project, choose the extracted/cloned Basis project folder
11+
- On the initial project load you will see the following prompt, please hit 'Restart Editor'.
12+
13+
![Unity restart prompt](/img/avatars/0.png)
14+
15+
- Once the project has loaded, you can now load in your Avatar files:
16+
- Either,
17+
- Find `Assets` in the Project hierarchy, inside `Assets` right-click any empty space and select `Show in Explorer`
18+
- Copy in your Avatar files [Mesh/Materials/Textures, etc.]
19+
- or
20+
- Import a .unity package containing your files, from the Assets menu, Import Package > Custom Package
21+
- Bring back the Unity window and allow the import process to finish.
22+
23+
<Callout type="info">
24+
If you place your content within a new directory "Assets > _UserContent" the default .gitignore file with the project will hide changes in git on this folder.
25+
</Callout>
26+
27+
## Import Model
28+
29+
- Find the location of your Prop model (usually provided in .FBX format).
30+
- Click the file and then navigate to the `Model` section of the Import Settings window.
31+
- Ensure that `Red/Write` and `Legacy Blend Shape Normals` are selected as below.
32+
33+
<INSERT IMAGE REFERENCE HERE>
34+
35+
- Navigate to the `Rig` section of the Import Settings window.
36+
- Click the `Animation Type` drop-down menu and make sure `Generic` is selected.
37+
38+
<INSERT IMAGE REFERENCE HERE>
39+
40+
41+
## Skinned Mesh Setup
42+
43+
- One consideration for Props with multiple Skinned Meshes is when different bounding box sizes cause individual meshes to pop in and out while the rest of the Prop is visible to remote viewers.
44+
- You can override the Center X, Y, Z & Extent X, Y, Z values in the section named `Bounds` at the top of the Skinned Mesh Renderer component. Usually, it is a good idea to set this the same across the separate Skinned Meshes.
45+
46+
<INSERT IMAGE REFERENCE HERE>
47+
48+
## Materials/Shaders
49+
50+
- You can jump straight in with the Universal Render Pipeline/Lit shader that comes with Unity 6
51+
- Otherwise, we have compiled a list of compatible [Avatar Shaders](/docs/avatar/shaders) that you can use.
52+
53+
## Basis Prop Setup
54+
55+
- The steps above should automatically add an Animator component to your Avatar prefab when you pull it into the Scene.
56+
- On the Parent GameObject of the Avatar, click `Add Component`, and add `Basis Prop`.
57+
- Enter your preferred Prop Name and Description.
58+
- Before selecting `Create Prop Bee File`, ensure that all your shaders are compatible. The BEE file will not generate if there are incompatible shader errors on your Prop. If there are any issues, the inspector will report about it so make sure to resolve them!
59+
60+
<INSERT IMAGE REFERENCE HERE>
61+
62+
<Callout type="info">
63+
In case you're new to Skinned Mesh Renderer blendshapes or uploading Props in general, they're basically just sliders that you can control to change the morphs on your model.
64+
65+
</Callout>

content/docs/prop/uploading.mdx

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
title: Uploading
3+
---
4+
import { Step, Steps } from 'fumadocs-ui/components/steps';
5+
import { Callout } from 'fumadocs-ui/components/callout';
6+
import { UrlConverter } from '@/components/UrlConverter';
7+
8+
## Uploading Your Prop
9+
10+
Basis allows you to load an Prop .BEE file from a remote URL location, which is also required for other users in a networked session to also load the assets.
11+
12+
<Callout type="info">
13+
You can add your prop password directly into the url for your .BEE file by `https://locationofBeefile.BEE#(Base64Encode(Password))`<br />
14+
Which you are appending `#` and Base64Encoded string of your password.
15+
</Callout>
16+
17+
In order to support this, you will need to direct link to a remote location. For this example, we will use Google Drive.
18+
19+
(Google Drive supports the direct link of files up to 100MB due to their Virus Scanning policy.)
20+
21+
Upload the **BEE file** to Google Drive, or any hosting provider that allows direct links to files without login.
22+
23+
- Create a Folder on your Drive and set its sharing settings to "Anyone with the link."
24+
25+
Now when you drag your files into this Folder, you will not individually need to set that permission.
26+
27+
- Click the Hamburger Menu on the Top Right of the asset you have just uploaded into the folder.
28+
- Find "Share" and click "Copy Link."
29+
30+
We will need to look into the URL to grab the information we need for your BEE file.

0 commit comments

Comments
 (0)