Pawperty Damage

Pawperty Damage

50 ratings
Custom Character Guide
By Dare Looks
This guide will explain how to export/import custom character models into the game.
You will need a game-ready character model (i.e. as a VRM, FBX file, or Unity
package) and basic Unity knowledge, to follow this guide.
   
Award
Favorite
Favorited
Unfavorite
1. Custom Character Files and Directories
This is an adaption of the Custom Character Guide PDF that comes with the game files. You can find it at the following path, in the game's installation directory:
[Installation Directory]\Pawperty Damage_Data\StreamingAssets\Characters\Custom Character Guide.pdf
1.1 VRM
The game loads custom character models from VRM files[vrm.dev]. VRM is a popular file
format for Vtuber software, such as VseeFace, and was specifically developed to
share character models/avatars between different applications.

The game will look for VRM files in the Characters directory, either inside a mod
folder, or at the following path:
[Game Directory]/Pawperty Damage_Data/StreamingAssets/Characters
If the game finds a VRM file, it will try to load it and (if successful) will display the new
character in the character selection screen, automatically.
1.2 Character Config File
For each VRM character model, you can provide an optional character config file that
provides the game with additional information, to make sure the character gets
displayed correctly.
This config file is in JSON format and contains data, such as...
  • Character details to be displayed in the select screen, i.e. name, pronouns, etc.
  • Hit box positions and sizes, to better match the character’s visuals
  • Settings to fine-tune how a character holds/eats vehicles
Any time the game finds a VRM character file to load, it will look for a config file with
the same name, in the same directory. The only difference is that the file format is
JSON:
.../Characters/MyCustomCharacter.vrm .../Characters/MyCustomCharacter.json
This is how the game knows which config to load for which character.
Note: As mentioned, the config file is optional: If the game loads a VRM file, but
can’t find a config to go with it, it will fill in default values. This means the custom
character will still be playable, but it’s very likely that it won’t be displayed correctly.
The config file is not meant to be edited manually, but rather you are going to use
Unity and the game’s own Character Configurator to set it up
2 Setup
If you have a character model (either in VRM, FBX or a Unity format) you want to
export for the game, you have to do so through the Unity editor. You will also need
the VRM import/export tools, as well as the Character Configurator.
2.1 Install Unity (2021.3)
To export a character to VRM format and use the Character Configurator, you will
need an installation of the Unity editor.
If you haven’t done so, already, create a Unity account, download the Unity Hub[unity.com] and
install the following version of Unity:
Unity 2021.3 LTS (Long Term Support)
To do so, open the Unity Hub, login, navigate to Installs and click the Install Editor
button. Then find the correct Unity version and install it:
For the installation, it’s fine if you leave all the settings at their default values: You
won’t need any additional Unity modules, or some such.
Note: The VRM tools do not currently support Unity versions above 2021.3, which
is why we are using exactly that version for the purpose of exporting custom
characters. Pawperty Damage, however, is built using Unity 2023.x
2.2 Create a new Unity project
You will need a Unity project, to open the editor and use the necessary tools that will
let you export VRM’s and config files.

After installing Unity 2021.3, navigate to Projects in the Unity Hub and press the New
project
button:

In the New project dialogue, make sure the editor version is set to use 2021.3. The
project template should be left as “3D Core”. In the bottom right of the window,
change the project name to something meaningful (or not.) Click Create project.
2.3 Install VRM tools
To import or export VRM files, you will need to download and install the necessary
VRM packages: You can find all available VRM packages on the official release page[github.com].

Important: Download version 0.115.0! In the most recent update, some of the export tools have been broken. You can find the correct version by scrolling down on the release page.

The easiest option should be to download the VRM 0.x Import/Export UnityPackage:

Once downloaded, open your Unity project and install the VRM package:
  1. From the Unity Hub, open the Unity project you have created in step 2.2
  2. Once Unity is up and running with your empty project, locate the UnityPackage file you have just downloaded. (i.e. “UniVRM-0.115.0_7e05.unitypackage”)
  3. To install the package, either double-click the file or drag-and-drop it into the Project panel, in the Unity editor
  4. Unity will open an import dialogue: Simply click Import to finish the installation
2.4 Install the Character Configurator
The Character Configurator is the tool you will use to set up the character configs:
This tool comes bundled with the game, you can find the Unity Package to install it in
the game’s Characters directory:
[Game Directory]/Pawperty Damage_Data/StreamingAssets/Characters
Simply locate the file CharacterConfigurator.unitypackage and install it, the same way
as described in step 2.3.
2.5 Summary
You should now have a Unity 2021.3 project, that has both the VRM tools and
Character Configurator installed.

If everything has worked, you should now see three new entries in your Unity
project’s menu bar:
  • UniGLTF
  • VRM0
  • Pawperty Damage
3 Import the Character into Unity
In the previous steps you have set up a Unity project: Now you will import your
character model into this project, so you can configure it, export it as VRM, and save
out the character config file.

How you will import the model into Unity is going to depend on the format you
character model is in...
3.1 Unity Package
If you have a character model that was intended to be used as a VRChat avatar, for
instance, you will often have the files available as a Unity Package: You can import
its contents the same way as described in the previous steps (2.3).

These packages will usually come with a Unity scene asset, that has the character
prefab, ready for export:
Character scene loaded from a Unity Package (Character by Galileo)

Character models that were made to be used as VRChat avatars will often times
come with custom shaders that are not supported by VRM or Pawperty Damage: A
popular choice, for instance, is the versatile and highly customizable Poiyomi shader.

Similarly, these models might be set up using scripts and components that are
specific to VRChat, and won’t be available now (i.e. dynamic bones, constraints, etc.)

To make these characters work with the game, you might have to re-setup materials
and dynamic bones, see chapter 4.1.
3.2 VRM
You can import a VRM file into Unity, make changes, configure the character, and
export the updated file, to be used in the game.

Note: Even if you have a character model as VRM, already, importing and re-
exporting it will come with several advantages: It helps make sure the VRM is
compatible with the game—and you will be able to run the model through the
Character Configurator, for fine-tuning.

To import a VRM file, go to the menu bar and select VRM0 > Import VRM 0.x:

Select the VRM file you want to import. The importer will ask you where to save the
Unity prefab to: This is where all the contents of the VRM will be extracted to, after
import.

When importing a model from a VRM, it will usually have the advantage that the
model is already fully VRM-compatible: Which means you will need less time to
prepare the model, as described in chapter 4.1.

Tip: It’s still a good idea to double-check the model and its materials: If the model
was exported with an older version of VRM, there’s a chance some of its setup got
lost or was broken, during import with a newer version.
3.3 FBX, glTF, Blender, etc.
If you have created a game-ready character model yourself, for instance in Blender,
export it to a common model format, such as FBX or glTF.

Note: A “game-ready” character model is any model that has been optimized to be
displayed in a game (i.e. the geometry has below 100~200k triangles) and is fully
rigged with a “humanoid” skeleton.

To import any model file into Unity, simply drag and drop it into the Project tab, in the
Unity editor, or move it to the project’s Assets folder, in your file system.

Unity will automatically import any file that you add to the project’s assets. Select the
file/asset to show its import settings in the editor’s Inspector.
3.3.1 Import BlendShapes
If your model has blend shapes, make sure they are being imported. Select the model asset to bring up the import settings in the Inspector, and make sure “Import BlendShapes” is checked.

Also check the “Blend Shape Normals” setting: If your blend shapes seem to get lit incorrectly, try switching this to “Import”.

If you make any changes to the import settings, click the Apply button, at the bottom right of the Inspector to save the settings.

3.3.2 Set up Humanoid Rig
Every character you want to import must have a Humanoid animation rig. This means
the character must have a human-like skeletal structure, with all the basic bones you
would expect in a human body: Legs, arms, head, etc.

To set up the rig, go to the model asset’s import settings and switch to the Rig tab:
Change the Animation Type to Humanoid, then click the button “Configure...”:


A new editor will open to show you how the Humanoid rig is set up, currently. Double-
check, if all the assigned bones are correct.


Re-assign bones, if necessary. If there are errors in the rig, the bone will be displayed
in red, instead of green. Also, some bones are optional and can be missing (i.e.
“Upper Chest”).

When you are done, click Done in the bottom right of the Inspector.
4 Model Setup and Export
Once your model is in Unity, you can set up its materials and VRM features, such as
spring bones, eye targeting, and blend shapes.
4.1 Materials and Shaders
Shaders are one of the major limitations for custom characters: Currently, there are
only three options available:
  • Standard
  • Standard (Specular setup)
  • VRM/Mtoon (VRM’s toon shader)

So you will need to make sure all of your model’s materials are set up to use one of these three shaders.

If you have imported a model that uses other shaders, you will have to try to approximate their look with any of these three.

For a cartoony style, VRM’s toon shader (MToon) will be your best option.

Switch the shader to a supported one and re-assign any textures that came with your model.

Tip: If the material turns black or white, check the different color tints as well as the Emission color. Also change the Rendering Type for any transparent material.

Note: The final look in the game will be heavily influenced by the game’s lighting set up and post-processing (i.e. color correction).

Note: Pawperty Damage uses the Universal Rendering Pipeline (URP). None of the shaders above are compatible with URP, technically: When the game loads a custom character, it will automatically replace shaders with corresponding versions that are URP-compatible.
4.2 VRM Setup
Note: If you have imported the model from an existing VRM file, you can skip this step

The easiest way to set up a VRM character is exporting and re-importing your character model, first to and then from VRM.

If you don’t have a character scene like this, already, take an empty scene and add your character model to it: Position the model at the center of the scene (coordinates: 0, 0, 0) and rotate it so that the character faces forward (along the Z axis.)

Then, select the character object in the scene and choose VRM0 > Export VRM 0.x from the menu bar.
This will open VRM’s export dialog: To export a VRM, you will have to enter a character name, a version, and an author.

After entering this info, you can click Export and select where you want to save the exported VRM.

Note: The dialogue might display problems with the model or show errors that you’ll need to fix, in order to export it.

If the export was successful, simply import the result back into Unity, afterwards, as described in step 3.2.


Important: Going forward, you will use the character prefab that was created during the VRM’s import. Remove the character model from your scene and replace it with the VRM character prefab, then save the scene.
4.3 Blend Shapes / Expressions
The game uses VRM’s blend shape clips: These “clips” are collections of blend shape (and material) settings that can be associated with a viseme/expression/etc.

To set up blend shape clips, you must find the Blend Shape Avatar asset: Select the character model and look for the VRM Blend Shape Proxy component, in the
inspector. Double-click the linked asset, to edit it:
When the Blend Shape Avatar is selected, it will bring up its settings, in the Inspector.

Select the BlendShapeClip you want to edit and expand the list of available blend shapes, below.

Find any blend shape you want to apply for this clip and move its slider to any value from 0 to 100. At the bottom of the Inspector will be
a preview of the result.
Note: Blend shapes are imported from the model file and will have user-defined (hopefully descriptive) names.
Tip: You can also mix and match different blend shapes, to achieve a good-looking expression. Play around with the sliders and use the expression preview, to find the right blend shapes.
4.3.1 Open/Close Mouth
The game uses the “A/Ah” viseme, to open and close the mouth, i.e. for the eating animation. If your model provides a blend shape to open the mouth, apply it in the “A” blend shape clip.
Note: If you character has a “jaw” bone to animate the mouth, it may not be necessary to set up the “A” blend shape clip. Using both, jaw and blend shape animations, might lead to unwanted visual results.
4.3.2 Gulp/Swallow Animation
In the game, the characters will play a gulping/swallowing animation, whenever they eat a vehicle. You can set up blend shape clips, to animate the throat: Create three custom clips with the names “Swallow_Start”, “Swallow_HalfWay”, and “Swallow_End”.

To create a new blend shape clip, click the button “Create BlendShapeClip” below the list of available clips. Save the new clip assets with the names of the three states, listed above (i.e. “Swallow_Start.asset”).
The three “swallow” clips: Make sure the blend shape names are correct and they use the preset “Unknown”

Visually, each clip should be one of the three steps of the gulp, as it goes down the throat—create blend shapes that look like this:
4.3.3 Growth
The game supports an additional, optional custom blend shape clip: Growth.

The bigger the character grows, in the game, the more this clip will be applied. You can use this to make the character’s body change, as they grow.

Simply create a custom blend shape clip as described in step 4.3.2, and call it “Growth”.
4.3.4 Neutral
The Neutral blend shape clip is a default preset: Any blend shape you assign to this clip will be permanently applied to the character, in the game.

This is great for using blend shapes to show/hide details, adjust the body shape, etc.
Tip: You can use different “Neutral” blend shape setups, to create variations of the
same character, as described in chapter 6
4.4 Spring Bones
4.4.1 Setup
Your character’s skeleton might have bones that are meant to be moved by physics,
rather than animations: You may know these as jiggle bones, dynamic bones,
physics bones, etc.—VRM’s implementation of this feature is called Spring Bones.

To set up spring bones, go to your character’s scene hierarchy and locate the child object called “secondary”. This object was created during VRM import (chapter 3.2) and it has the VRM Spring Bone component attached to it:
The character’s “secondary” child object. (Character by Galileo)

In the VRM Spring Bone’s settings you need to add the “Root Bones” of every body part you want to be animated by spring bones: It’s always the first bone of a chain of bones, i.e. for ears, tails or strands of hair.

Tweak the values for Stiffness Force, Gravity Power and Drag Force, to change how the spring bones behave.

Tip: Switch the scene into play mode, to try out the spring bones. When the scene is playing, select the character game object and move it around, to see how the spring bones react.
4.4.2 Implementation and Limitations
Spring bones will not behave exactly the same, in the game. While VRM uses Spring Bones, Pawperty Damage works with another third-party solution (Boing Kit[longbunnylabs.com]): During import into the game, Spring Bones will be translated into Boing Bones... Long story short, there are technical reasons for this, but know that it means results will differ.

Spring Bones have some limitations that Boing Bones don’t have and, unfortunately, Boing Bones have some limitations, that you wouldn’t have with Spring Bones.
  • No branching: Each bone in the chain can only have one child bone. If there are extra bones (or branching chains), the Boing Bones chain will become unstable
  • Root bones are static: The first bone in a chain will not jiggle. This means you cannot have a jiggle bone that is a single bone only
  • No collision radius: While Boing Bones supports collision, the Hit Radius you set up for the spring bones will not carry over
4.4.3 Multiple Spring Bone Components
The stiffness/drag force settings are applied to all chains set up in the same spring bone component. If you want to use different settings for different chains, you will need to add a new component, for a new set of settings.

Either add a new VRM Spring Bone component with the Add Component button, or duplicate the existing component and edit it.

Just make sure that all of these components are attached to the “secondary” object.
Note: Make sure you don’t have two spring bone components control the same chain of bones! If it does happens, the VRM Exporter dialogue will display a warning and ask you to fix it.
4.4.4 Collision
As mentioned above, Boing Bone chains support collision. To set up colliders for them to collide with, add the component VRM Spring Bone Collider Group to your character—you can add it to individual bones.

Since Boing Bones don’t support the collision/hit radius setting, you might want to increase the radius of the spring bone colliders, to compensate.

Spring bone collider group with two colliders, attached to the character’s spine bone
4.4.5 Gravity
By changing the Gravity Force to any value other than zero, you will make those bone chains affected by gravity.

This comes with a bunch of disadvantages. Most importantly, the chain might be more jittery, clip through the ground and behave strangely, when playing in slow motion, in Photo mode.
Tip: Alternatively, you can pose the bone chains—right in Unity—to emulate how they would look if they were affected by gravity, without the need to apply any gravity force. In many cases, this should be a decent compromise, mitigating any of the problems that come with using physical forces.
4.5 Eye Setup / Look At
You can set up the character’s eye targeting, which will define the eyes’ rotation limits. How you need to set them up, depends on how the character’s eyes are controlled: Do they use bones/joints, or blend shapes?
4.5.1 Eye Bones
By default, eye rotations are very limited, which is why it makes sense to go in and
set them up, manually.

To do so, select the character object, go to the Inspector and find both of the
following components: VRM Look At Head and VRM Look At Bone Applyer...
The settings you want to adjust are under Degree Mapping: Here you define the
eyes’ horizontal and vertical limits, in degrees.

To find the ideal settings, you can set up a “target object” that the character will look
at, in Play mode. To set this up...
  • Click the “+” button in the top-left corner of the Hierarchy view and chose “Create Empty”
  • Select the scene’s character object
  • Drag and drop the new GameObject into the Target field of the VRM Look At Head component
Now, when you switch into Play mode, the character will try to follow the target object with their eyes.
Switch the scene into play mode and move the target game object around, in front of the character: The character’s eyes should try to follow the target.
Note: When you enter play mode, Unity might automatically switch to the Game tab. Switch back to the Scene tab, to select and move the eye target object.
Adjust the sliders in the Degree Mapping section, to change the eyes’ horizontal and vertical limits. There are different limits for eyes looking inwards or outwards (as well as up or down): Play around with the sliders and the target object, to find the settings that look the best.
Note: When you exit play mode, all settings you did during play mode will be
reverted. So note down the settings you have found to work best and re-enter their
values, after exiting play mode.
4.5.2 Blend Shapes
If your character uses blend shapes to control the eye movement, make sure that the appropriate blend shape clips are set up, in the Blend Shape Avatar (chapter 4.3).
Eye movements are controlled by 4 blend shape clips: LookUp, LookDown, LookLeft, LookRight

On the VRM character object, remove the component...
  • VRM Look At Bone Applyer
...and add a new component:
  • Look At Blend Shape Applyer
This component will translate the character’s gaze into blend shape animations, instead of controlling the character’s eye bones.

If the blend shape clips are set up correctly, you should be able to leave the new component’s settings at their default values.
4.6 VRM Export
Once the character model is fully set up, you can export the VRM file, by selecting the character object and choosing VRM0 > Export VRM 0.x from the menu bar.

This process is exactly the same as described in step 3.2: Make sure name, version and author are defined for the character’s meta information and click Export at the bottom right of the dialog.

If you haven’t done so already, you can save the VRM file to the game’s Characters
directory, at the following path:
[Game Directory]/Pawperty Damage_Data/StreamingAssets/Characters
The next time you start the game, it should automatically load the VRM files in that
directory and display any compatible character in the character selection.
Tip: It’s a good idea to use this moment to give it a try, in the game. This way you
can check if the VRM export was successful and resulted in a valid character
model. Otherwise, you might have to go back and make changes to the model’s
setup.
If the character shows up in the game and is playable, you can move on to use the
Character Configurator to fine-tune some of the game-relevant details and setups.
A custom character, in the game’s character select screen.
5 Character Configuration
The game should load any compatible VRM file and make its character available, in the game.

In the following (optional) steps, you will use the Character Configurator to further fine-tune how a character model is displayed. This tool allows you to set up...
  • Character details (name, pronouns, etc.)
  • The base size/height of the character
  • Size and position of hit boxes
  • How the character holds a car in their hand
  • The exact pose in which they eat a car
The result of these settings are saved out to a JSON config file with the same name and file location as the VRM file they belong to.
Note: If no config file is provided, the game will load the character with default values, which could be described as “best guesses”: For the best results, it’s best to configure each character, manually.
5.1 The Character Configurator
To open the tool, choose Pawperty Damage > Character Configurator from Unity’s menu bar. (If no such entry exists, make sure the tool is installed, see chapter 2.4)

This will open a new editor window, the Character Configurator:
5.2 In-Tool Help
The configurator provides in-tool hints and tips. They are turned on by default, but you can toggle them by clicking the “?” symbol, for each section that has them.

You can also check the tooltips for labels, buttons and input fields, to get hints: Simply hover your cursor over those elements.
5.3 Load / Save Config
Load or save a character’s configuration.
Note: The configurator is always editing one config at a time: If you load a config from disk, the tool’s current config setup will be lost/overwritten.
When saving out a config file, the editor will ask you to pick the file path of the VRM file you want to save the config for. So if you pick a VRM file path like this...
.../Characters/MyCharacter.vrm
The editor will save out a matching JSON, like that:
.../Characters/MyCharacter.json
When you load a config and make changes to it, be sure to save your changes to the same file, again.
5.4 Character Info
Here you can enter your character’s info, that will be displayed in the game’s character selection screen.
Note: You can leave all of these fields blank, as none of this info is required. If no Name is provided, the game will display the VRM’s filename, instead.
Note: The ‘Extra Field’ will be shown in place of the ‘Age’ and can be fully customized.
Name and Skin Title are used to implement multiple skins of the same character, see chapter 6.
5.5 Character Setup
You can edit the character info independently from the character model, as it’s only meta data. Any other configuration, however, is specific to a character model: For instance, each model might have slightly different proportions for hands and feet, so you have to adjust the hit boxes, accordingly.

The Character Configurator comes with a number of tools that let you configure a character model, right in Unity’s scene view.

To use these tools, you have to select a character model (either in the current scene, or its prefab asset in the Project tab) and click the Edit button, in the Configurator.
When in character setup mode, the scene view will change to an isolated look at your character model: This mode is similar to how you would edit prefabs in Unity. When in this mode, the setup tools (Size, Hit Boxes, Grab and Bite) will be available: Selecting any of them will make it active, in the Scene view.

To exit character setup mode, either click the arrow in the top left of the Hierarchy tab, or click the Close (previously Edit) button in the Character Configurator.
To exit the character setup, click either of these buttons
5.5.1 Size Tool
Use the Size tool to measure the actual height of the character. This is used to to calculate a scale factor and normalize character sizes/scales, in the game.

To measure the character’s height, simply drag the height handle (the higher upwards arrow) to the tip of the character’s head, like a measuring tape.
Character setup mode with the Size tool active. Drag the handles in the scene view, to adjust the characters height, vertical offset and radius.

If you notice the character’s feet standing above or below the ground, you can adjust the vertical offset: Drag the vertical offset handle (the lower upwards arrow, at the base of the character) so that it is positioned at the bottom of the feet, marking where the ground would be.

This tool also allows you to change the character’s collision radius: This radius is how much space the character takes up, physically, while moving. It’s relative to the character’s size and will adjust automatically, when you change the height.
Note: It’s recommended to not change the radius, manually, unless you notice problems with the character’s collision behavior (i.e. the character gets stuck too easily, or is prone to clipping into buildings when standing too close.)
5.5.2 Hit Boxes Tool
Use the Hit Boxes tool to adjust the position and size of the character’s hit boxes, so that they match their hand, feet and bite.
Tip: If you want to be pedantic, you can call them “hurt boxes”, instead!
Activating this tool will display hit box position and radius handles, in the Scene view: Use these scene handles to adjust the hit boxes, so that they match their respective body parts.
Character setup mode with the Hit Boxes tool active. Drag the handles to change their position (arrow handles) and size (white squares)

Tip: The sizes of the hit boxes don’t need to be precise; for the best results in the game, make sure they they cover the entire hand/foot.
5.5.3 Grab Tool
Use the Grab tool to adjust the character’s grasp, when they pick up and hold a car.

The game will need to know how to position the held object, as well as how small or big it would need to be, to fit into the hand at its tightest and widest grasp.

To help with that, this tool will display a car placeholder, in the Scene view.

Character setup mode with the Grab tool active. Move the car placeholder (arrow handles) and change its size (cube handle) so that it fits into the character’s grasp.

In the scene view’s Grab Preview HUD, you can move the Hand Closed/Open slider to display the hand at its tightest or widest grasp. Use it to switch between these states and adjust the placeholder’s reference size for each of them, so that it fits.

Comparison between the tightest and widest grasp: As a rule of thumb, try to adjust the ring handle (the reference size) so that the fingers curl around it.
5.5.4 Bite Tool
Use the Bite tool to adjust the character’s pose when biting into a car.

This is important, because characters will have different mouth positions, muzzle lengths, arm lengths, hand sizes, etc.: No one animation will fit all, which is why you can tell the game where the mouth and hand goes so it can adjust the animations, accordingly.


Character setup mode with the Bite tool active. Move the mouth and hand position handles, to adjust the eating pose.

Simply move the Mouth position handle to the tip of the character’s lips. Afterwards, move the Hand position handle so that the palm of the hand rests on the mouth/lips.
Tip: For the best visual results you may have to check the actual animation in the game and then come back to re-adjust the hand position.
6 Character Skins/Variations
If you want to have different variations of the same character—i.e. for different colors, outfits, body types, etc.—export separate VRM files for each variation, but make sure they use the same name, in their JSON config file.

When the game loads custom characters, it will collect all characters with identical
names into the same group, letting the player browse through them using the ‘switch
skin’
buttons.
Note: “Name” refers to the name as it was defined in the Character Configurator. It’s not to be confused with the name that is set in the VRM meta info (i.e. during VRM export) or the VRM file name!
In the Cofigurator, you can set a Skin Title to be displayed in the character selection, to distinguish between the different character variations.
Tip: All other character info, i.e. Description and the Extra Field, can be different for each variation/skin: Be creative!

Name and Skin Title, as they appear in the Configurator and in the game’s character selection screen.
7 Mod Creation/Upload
7.1 Creation
For detailed instructions on how to set up mods and upload them to the Steam
Workshop, please refer to the Mod Creation Guide. The guide can also be found in the game files, in PDF format:
[Game Directory]/Pawperty Damage_Data/StreamingAssets/Mods
To add custom characters to a mod, simply move the characters’ VRM model and
JSON config files into the mod folder’s Characters directory.

Example contents of a mod folder, in the Mods directory
7.2 Steam Workshop
Before you upload a character mod to the Steam Workshop, there are a few things to know and consider...
  • Any VRM model you publicly upload to the Steam Workshop, can be easily ripped and shared—so if you are afraid of someone stealing your character model, you probably shouldn’t upload them publicly
  • If you are uploading character models that you have not created yourself, i.e. ones based on VRChat avatars, make sure you are allowed to share the model
  • Do not upload NSFW character models to the Steam Workshop. Generally, you have to stick to Steam’s rules, as described in their Subscriber Agreement and the Steam Online Conduct
If you have prepared a mod you want to upload to the Steam Workshop, simply go to the game's Mods menu and press the Upload button, as described in the Mod Creation Guide.
8 Troubleshooting
8.1 Character takes a long time to load
Some character models might not be very optimized and take a couple of seconds to
load, in the game.
  • Does the character have a lot of geometry? (i.e. more than 100k triangles)
  • Does the character use a lot of very big textures?
  • Does the character have a lot of unused blend shapes?
If you have adapted a character from a VR avatar, the model might come with a lot
more blend shapes than you need: In this case you can strip any unused blend
shapes, during VRM export.

Option to “Reduce Blendshape” in the VRM Exporter.
8.2 Materials looks different in the game
As mentioned on page, the game only supports Unity’s Standard shader and VRM’s toon shader.

Some features of the Standard shader might not display correctly in the game, however, depending on the combination of shader settings—if you notice this happening, please report the issue!

As a workaround, you can try different (maybe simpler) shader settings.
8.3 Spring bones are jittery or behave unexpectedly
Check if your spring bone chains contain branching bones or extra child objects.









Tail bone chain with branching and extra child objects (left), and the same chain but clean (right)

If your spring bone chain is set up to use gravity, try setting the Gravity Force to 0 and see if that improves it.
25 Comments
Dare Looks  [author] Oct 14 @ 5:12pm 
@leomon32
I am not familiar with PMX files, I am afraid, but principally it should work exactly the same; you can export the model from Unity as a VRM and then re-import the VRM into Unity, to tweak it (i.e. the blend shapes). And then you can re-export it to the VRM... yeah, it's a bit back and forth, heh.
leomon32 Oct 14 @ 2:51pm 
Nevermind, it actually does work if you use a PMX/MMD file, you can import afterward as VRM and doing the same as you stated in your tutorial. I now have to find the cloths physic and a way to fix those hands lol
Dare Looks  [author] Oct 6 @ 3:53pm 
@Macroplanet
The proxy component should be added during VRM import; so if your character model is no VRM file yet, you have to export it to VRM, first--have you done those steps (3.2)?
Macroplanet Oct 6 @ 12:35am 
i downloaded the specific version of the unity vrm tool for this but the blendshape proxy menu doesn't show up anywhere. what do i do
Dare Looks  [author] Jul 18 @ 4:53pm 
Naturally, you can grab it from here [nextcloud.manikobunneh.xyz], if the URL works.

And if you have any other questions and such I suggest opening a thread in the Workshop discussions!
Ness_and_Sonic Jul 18 @ 4:43pm 
By the way, you wouldn't happen to have a png of the Shrynx Laboratories logo on a transparent background, would you?
Ness_and_Sonic Jul 18 @ 3:22pm 
Okay, never mind. It seems it needs to be done in the inspector tab. Now to figure out to unpack prefabs. The option seems to be strangely grayed out, which makes importing the individual skins I'm trying to do harder.
Ness_and_Sonic Jul 18 @ 2:39pm 
Okay, I might have an idea on what's going on. It looks like the model was imported at a size that's too small. I'm not sure how to scale it up, though. It seems like the scale options in the properties section for the model are locked and can't be edited.
Ness_and_Sonic Jul 17 @ 1:44pm 
I dragged and dropped it from the Project tab to the scene hierarchy, but nothing has shown up still.
Dare Looks  [author] Jul 17 @ 12:29pm 
When you have imported the FBX file you should be able to drag and drop it from the Project tab into the scene hierarchy; if the object is empty there might be something wrong with the FBX file