The VRCSDK build was aborted Failure error

Whenever I try to export my avatar for android, it says “The VRCSDK build was aborted because the VRCSDKPreprocessAvatarCallback ‘BuildFrameworkPreprocessHook’ reported a failure.”

The full error in the console is:

The VRCSDK build was aborted because the VRCSDKPreprocessAvatarCallback ‘BuildFrameworkPreprocessHook’ reported a failure.
UnityEngine.Logger:Log (UnityEngine.LogType,object)
(wrapper dynamic-method) UnityEngine.Debug:UnityEngine.Debug.LogError_Patch1 (object)
(wrapper dynamic-method) VRC.SDKBase.Editor.BuildPipeline.VRCBuildPipelineCallbacks:VRC.SDKBase.Editor.BuildPipeline.VRCBuildPipelineCallbacks.OnPreprocessAvatar_Patch3 (UnityEngine.GameObject)
VRC.SDK3.Builder.VRCAvatarBuilder:ExportCurrentAvatarResource (UnityEngine.Object,bool,bool,string&,System.Action1<string>,System.Action1)
VRC.SDK3.Builder.VRCAvatarBuilder:ExportAvatarBlueprint (UnityEngine.GameObject)
VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder/d__141:MoveNext () (at ./Packages/com.vrchat.avatars/Editor/VRCSDK/SDK3A/VRCSdkControlPanelAvatarBuilder.cs:2854)
UnityEngine.UnitySynchronizationContext:ExecuteTasks ()

PLEASE help me with this!! I have worked on optimizing this avatar for a very long time and I would like to be able to upload it!

More information is needed. The cause may be a previous error in the console, or something the builder tells you about. Please share a screenshot of the Unity Editor, with all console errors and the VRChat SDK builder shown.

If anything else is needed, please don’t hesitate to let me know.

It’s the first error alert in the SDK builder.

Gesture Layer needs valid mask on first animator layer

You’ll need to set the mask on your first Gesture Layer (AllParts), usually to vrc_HandsOnly.


Locate and select your avatar root gameobject in your Hierarchy. In my example case, my avatar is named insomnyawub lilToon and selected.

In the Inspector tab, locate your Gesture Layer from the VRC Avatar Descriptor on your root avatar gameobject. (In my example case, my Gesture layer is named MANUKA_Gesture.)

Double click on the customized Gesture layer (MANUKA_Gesture in this example) to open the layer in Animator.

Click on the gear icon of the first layer (AllParts) to change layer settings. You’ll see you have no valid mask on this first layer (None (Avatar Mask)).

Set the mask of the first layer (AllParts) to vrc_HandsOnly. You can search and select the mask by clicking the small circular icon next to the avatar mask in layer settings.

The second layer (Left Hand) is usually also masked to vrc_Hand Left and the third layer (Right Hand) is usually masked to vrc_Hand Right.

After saving (Ctrl + S), the SDK builder error should be resolved and you should be able to build the avatar.


If you need more reference, take a look at the example vrc_AvatarV3HandsLayer gesture layer from the SDK found in Packages/com.vrchat.avatars/Samples/AV3 Demo Assets/Animation/Controllers.

Thank you very much for this! I couldn’t find a tutorial on how to fix the warning, so much appreciated.

Sadly, though, the error still occurs.

Do you have VRCFury imported to your project via VRChat Creator Companion or ALCOM?

What does your VRC Avatar Descriptor look like for playable layers?

I used the VRChat Creator Companion to import VRCFury.

You are working on an Editor Test Copy of your avatar built with VRCFury. This may or may not work for subsequent builds. The original Desktop_Clone_ avatar would be the most ideal and reliable avatar copy to be working on.

Additionally, the small circular icon for avatar mask search may only find masks from a temporary assets directory, including temporary assets created by VRCFury. This may also not work, because those assets (avatar masks) could be removed when the build is started. You’d need to point the avatar masks from the above steps to the sample avatar masks from Packages/com.vrchat.avatars/Samples/AV3 Demo Assets/Animation/Masks or copies of those.

this is the only copy of the avatar that I have as of right now, but I will try using the sample avatar masks.

EDIT: Still no dice, even after changing the masks to those in the Packages.

I suggest getting the original Chubbogen_redux avatar base from Myaggic and working on that, or contacting the author of the Chubbogen Redux avatar by Laurus Da Derg which matches the avatar ID (avtr_fd32eb41-5769-4e6e-b325-29946e6a39ee) you’ve shown.

I’m aware of a copy of Laurus’ avatar being ripped and shared on a third-party website as of yesterday.

Gotcha. Thanks for the help.