Emote Test Dummy - Visualize Validation Errors for UGC Emotes!

If you’re like me and looked into uploading UGC emotes, you might’ve been frustrated to run into a validation error like this:

I was frustrated by this error too, since it wasn’t clear where this problem was in the animation I was uploading. So I decided to dig into Roblox’s UGC Validation code and figure out what Roblox was actually checking for.

What resulted from this investigation was the Emote Test Dummy!
It’s a free, basic testing suite with the following features:

  • Accurately mimics the UGC validation measurements Roblox makes (as of August 9th, 2025)
  • 3D Visualizers and output logging for errors that would cause the emote to be rejected (including context about what frames the errors occur on, and the relevant body parts)
  • Analysis of animations that were uploaded to the cloud, or a local on-site CurveAnimation instance.
  • Limiting of analysis to a range of frames to repeatedly loop and inspect a problematic area.
  • Tweakable delay interval between analysis frames to playback the animation frames at different rates, relative to the fixed 30hz Roblox analyzes animations at.

Demo

Download Link

57 Likes

HOOOH this helped so much with my animation that i genuienly thought was unfixable without a full re-animate, as @LeadAcid would say, “you are a hero to all roblox animators”

3 Likes

Thank you for this needed resource :heart:

3 Likes

Found my error in the code, but how to remove these childs

2 Likes

Thank you so much I was about to rip my hair out :sob:

1 Like

Hi Max,

Thank you for the tool. Do you still maintain it? I am running into a UGC validation error (specifically about -3.1 studs max dist) but my animation is passing your checks & the motion checks on the player-made blender add-on.

My console isn’t showing any output/red feedback when the server is run. Animation plays correctly though.

TIA!

2 Likes