BONELAB

BONELAB

107 ratings
How to turn any humanoid model into an avatar
By MapleJava
(Now with finger fix and sounds) because being a peasant is for nerds
4
2
5
   
Award
Favorite
Favorited
Unfavorite
Disclaimer
Some avatars cant import, apparently people are reporting problems with a few, notably some that have other bones/appendages and some furry avatars with tails/ears. Thing appears in the mall, but crashes when you are trying to confirm to switch to that model. I don't know how to fix it, the modding server doesnt know how to fix it yet, be sure to check them if they ever find a solution

If there are issues with your model, be sure to try asking the modding server: http://slz.gg/lavagang
Or the Official Server: https://discord.com/invite/stresslevelzero

Beginning Stuff
NOTE: YOU NEED TO AT LEAST PLAY UNTIL YOU REACH THE LABS BEFORE YOU CAN EVEN CHOOSE A MODEL, Its also recommended to at least play the story campaign so you can unlock all your characters and the character swapping gadget.

pro side tip: if you don't want to do the whole thing of doing 3 minigames and playing the crane game, as soon as you reach lab, you can just open your menu (Hold b on your controller), select levels, and continue on without having to do that ♥♥♥♥. (may be patched out soon*)


Required:
  • Unity 2021.3.5f1 with at least Windows build support (Android support is optional for quest)
2021.3.5f1 can be downloaded here, either choose for downloading to Unity hub or download standalone, be sure when installing to check android and windows support for it[unity3d.com]

  • A bipedal model in .fbx format with at least:
    - Hands with 3 fingers at minimum
    - A chest
    - Shoulders
    - A neck
    -Two eyes *optional
AFAIK, any models with not two legs doesn't work, get legs or go steal some

  • Git
git is needed to git the three packages in the bonelab sdk to even make your avatar work, you can click here to git git[git-scm.com]

  • Basic knowledge of unity/VRC avatar making
i'm going to assume you already know how to use unity in basic, if not then oops
Setting up the project
1. Open unity hub, start a new project


2. [IMPORTANT] Select 3D (URP), selecting 3D will NOT WORK


3. When the project is opened, install the packages, go to Windows -> Package Manager


4. Click the + on the top left, and click [Import from Git URL]


5. Import these three packages here by pasting the links and clicking [Add]

https://github.com/StressLevelZero/Custom-RenderPipelineCore.git

https://github.com/StressLevelZero/Custom-URP.git#Bonelab

https://github.com/StressLevelZero/MarrowSDK.git


When all three are added, they should appear on the Package manager list like this


6. A button titled [Stress Level Zero] will now appear on the top of your toolbar, Click Stress Level Zero -> Void Tools -> Validate Marrow Project Settings


7. A bunch of errors will appear, this is normal, click Fix All on the top right


Initial set up is now done!
Setting up your avatar
For this tutorial I will be demonstrating with john heavy

1. Import your model, it should be FBX and should have its textures as well

2. Click the model's fbx file, select rig, and switch the Animation Type to Humanoid, then save.


You may also want to check the rig, be sure that all the bones are in place

3. Open the Material Tab, Click on Location, and switch the tab to "Use External Materials (Legacy)"

(Note: This may or may not be needed, People who used Embedded have been saying they have had issues with the materials on their avatar when chosen, so it helps fix stuff... maybe)

4. Grab your avatar FBX and bring into the scene, and set its position to 0,0,0

(Note: You may also need to shrink down your avatar if needed. for a rough estimate, my avatar is around 1.5 size of a cube in height.)


4.5. If avatar is missing textures, or is pink, drag textures onto model, or check the materials set on the model, and set them to the Material shader [Universal Render Pipeline/Lit (PBR Workflow)]


5. Click on the root of the avatar in the scene, In the inspector, click on Add component, and add the Script [Avatar]


5.5. If your avatar does not have any eye bones, you will need to add one. Click on the model, and add an empty Game Object to the root of the avatar. Drag the Game Object to the middle of the eyes, and move the gameobject to the box of "Eye Center Override"



6. Set up mesh collission - Click on the Avatar script, and click the button "Edit Body, then try to closely match the proportions of the body itself.
-Triangles change offset/x/z values of where the mesh is located
-Square changes the Y value/Height of where each part of the body is
- Circles will adjust the scale of the size,
-They are only on the right side of the model, any changes reflect the left side as well.


6.5. If your character has a chest, after setting up the body, then click on "Edit Soft Body", and adjust the chest to match the chest as well, adjust the green circles to match the size. See step 7.5 for adding physics to the chest


7.If for some reason your model is calling that there are any missing meshes;


Animator: Since you made the model in the root, the Animator component should be above the avatar, drag that into where [Avatar Animator] should go

Wrist LF/RF missing: Click on Advanced settings on the bottom of the Avatar Script, open Marrow bones tab, and drag the Left and Right Wrist from your hiearchy into the respective spots
(If an avatar doesnt have this labeled as a wrist, Left and Right Hand works too, check whats set as left and right wrist on your Humanoid bone settings from Step 2)


Body mesh: At the root of your avatar in hiearchy there should be an Armature and a Body gameobject there, drag the Body gameobject from the hiearchy into the box. If your avatar also has other body/head/hair meshes (Not part of the model), drag those to their respective boxes as well

7.5 If your character has a chest and you want to give it "Physics", Go to the bottom of Avatar script, click on advanced settings, then click on Soft Bulges and Breast Soft Body, then drag Breast L and R from your Hiearchy into the respective boxes below the sliders (RF= Right, LF= Left)


8. If you want to include sounds into your avatar, click [Assets] on the top toolbar, thn naviate to Create-> MarrowSDK -> Audio Variance Data to make a Audio variance data asset, and name it whatever (I reccomend naming it to whatever sound is needed)

8.3. For each one, add sounds that fit whats needed for your character (Walk,Run,Jump,Fall,Small/Big Hurt, Dying, Death, Recovery). Set the number to how many voice clips you have for it.

(Note: If you dont want to drag them all one at a time, make a folder containing which sounds for each one, select all of the sounds from your project, and drag them directly on > Audio Clips in the inspector for them to automatically be compiled into a list)

8.6. Once you have made sounds for each of your files, then drag that Audio Variance Data object to its respective slot


9. Drag your Model from the Hiearchy, and drag into your project files, then select Original Variant when asked what to do with it

(Note: After doing this, any future changes you want to make on the avatar (Fixing mesh collission, adding voices, etc MUST be done by opening the prefab first.)

The avatar is now ready to be packaged
Exporting the avatar and adding into the game
1. Prepare to export model, Open Top toolbar, Stress Level Zero -> Void Tools -> Asset Warehouse


2. Click on Create Pallet on the box, Title it whatever, and give it your name (Title and Creator is visible in the Mod menu ingame)

(If the pallet also doesnt show up on the window after making it, try hitting refresh)

3. Click on the newly made pallet, it will open on the inspector, then click on Add Crate


4. It will open a new window, on it, set Crate Tytpe to [AVATAR_CRATE], and then set the Asset Reference to the Prefab you created of your avatar in step 9 in the previous section


5. Avatar will now appear in Pallet name-> Avatar-> Your Avatar's Name. Click on it to view in inspector, then give it a description, some tags, and then click on the button that says [Generate Packed Assets]
(Note: Do not worry about your avatar showing up as purple in the inspector's preview, this is normal.)

6. Click on your pallet again to view in inspector, then click either Pack for PC for Pack for Quest. Hit save and continue, and wait for it to finish
(Note: Hitting "Pack [NAME]" in the asset warehouse window works as well, but people have said that doing it in the inspector tends to work more.
(Note 2: Packing for Quest requires the android SDK installed from the prereqs.)

7. When its done, it should open up explorer with a folder titled Author.Name, copy the folder, and head to %AppData%, go up one, click LocalLow/Stress Level Zero/BONELAB/Mods (C:\Users\[username]\AppData\LocalLow\Stress Level Zero\BONELAB\MODS.), and paste the folder there
(Note: Quest users dump this instead to This PC\Quest 2\Internal shared storage\Android\data\com.StressLevelZero.BONELAB\files\Mods)
(Note 2: If there is no Mod folder, either make those directories, or open boneworks, Click on mods, click approved mods, and download either the HoverJunkers or Duck Season avatar packs for it to automatically make those folders for you)

8. Test the avatar and cross your fingers it works
Closing
Other stuff:

If your avatar;

-Shows up in the mall, but doesnt show up as a top preview, its either;
-Too small
-Too big (Look around)
-Does not have compatible shaders (DO NOT USE STANDARD, and be sure you are using the URP baseline, not standard 3d, so a Vrchat project is not compatible with it

-Crashes the moment I click confirm on it to switch to the avatar
i dont know, ask modding or wait for it to be fixed, all the crash log tells me is its a NaN or Infinite value with physics, and ive seen some people have issues with stuff with extra bones or extra body parts like ears or tails that arent cooresponded to the hair/hips

-Has broken parts, Most of the time its usually weird bone rotation and positioning, try checking rotation on the other bone joints, but for the fingers, check this guide, as it was a recent discovery

Most of this info is from the Wiki via the github page itself, be sure to check that out for other info or how to make levels and stuff, this was hopefully just a short guide to making an avatar without reading the text

https://github.com/StressLevelZero/MarrowSDK/wiki

If for some reason you want to use that heavy model I made heres the link to the mod page (Fingers are finally fixed on it)[mod.io]

Also again, if you need help, ask the modding discord via http://slz.gg/lavagang
they probably know way more than I do
you can also try the official discord too: https://discord.com/invite/stresslevelzero

22 Comments
Konrad 20 Jun @ 5:26am 
Also, I have a small issue. I uploaded a Bonelab avatar that I made onto mod.io, but for some reason, it doesn't seem to want to download, even though I have it subscribed, and the pallet is packed for Quest.
Konrad 20 Jun @ 5:23am 
You can't make the mod without a PC.
lobsterooooo 12 Jun @ 10:29am 
What if i doesntt have pc :(
Wailingduck12 24 Jul, 2024 @ 5:57am 
i am heavy weapons guy, and this is my weapon *cut to heavy punching 100 enemys*
PhoenixDoesStuff 6 Mar, 2024 @ 10:39am 
Balls
brodytheperson 25 Nov, 2023 @ 6:12am 
Please help my avatar's skeleton is backwards
Mo Gigmal 10 Aug, 2023 @ 4:42pm 
im glad the furrie avatars crash
galunga 9 Oct, 2022 @ 11:15pm 
You can manually download the sdk from github and use it locally, but I don't think it works properly with the custom URP package
Ralsei (Real?!?) 9 Oct, 2022 @ 1:12pm 
Ah, damn shame then.
MapleJava  [author] 9 Oct, 2022 @ 3:40am 
probably not, they forced it via git so it can be updated via package editor, maybe someone could provide a upload for a project that pre-set up, but it would require you to have someone constantly make you a newer one as the SDK gets updated