[Plugin] Lazy Animator - A custom animation editor with schema support

Quick Disclaimer

This plugin was developed using a collaborative human-AI workflow. If you are strictly opposed to AI-assisted development, this tool might not be for you. I kindly ask that replies keep the discussion focused on the plugin’s utility, features, and constructive feedback rather than debating the use of AI.

Plugin Description:

Lazy Animator is a custom animation editor designed to generate your R15 animation draft workflow by bridging the gap between Large Language Models (LLMs) and Roblox’s native kinematics. Using a mathematically precise JSON protocol, the plugin allows developers to generate foundational animation drafts with AI and import them directly into Studio. Lazy Animator eliminates the tedious manual block-out phase so you can focus entirely on polishing and bringing your NPCs to life.

Why I Built This:

I am currently creating my own MMORPG, I wanted every single NPC in my world to feel alive and dynamic. Manually animating dozens of characters is an incredibly tedious task. So, I created Lazy Animator to drastically speed up that pipeline and get my game moving faster.

The Purpose:

Lazy Animator is not meant to completely replace the art of manual animation. It acts as a powerful drafting tool, letting the AI generate the heavy mathematical lifting and block-outs, so you can step in, use the timeline, and polish the final result to perfection.

The Grand Vision (Why Share This?)

While I originally built this to compensate my laziness I realized that I need more data to produce stable results, so I am releasing this here in the DevForum with a much larger goal in mind:

  • Prompt Optimization: I would love the community’s help! If there are any prompt engineers or technical animators out there, your input on refining and optimizing the Master System Prompt would be incredibly valuable.
  • Ecosystem Growth: By getting this tool into the hands of more developers, we can spread the concept of the “Lazy Animator Schema” across the internet.
  • Training the Future: As more users experiment, share prompts, and post their JSON outputs on forums, Large Language Models will naturally absorb this formatting into their training data. Over time, this collective community effort will inherently teach AI models to generate R15 animations with incredible out-of-the-box precision and stability.

Known Limitations:

  • The AI system prompt is still actively being refined and optimized.
  • Euler angle consistency varies heavily across different AI models, so expect occasional quirky movements or rotations that require manual cleanup.
  • The plugin scope is currently locked strictly to the R15 rig.
  • Because this is a highly experimental workflow, the AI might occasionally hallucinate poses.
  • Generation is currently limited to 1-to-1 character animation (no multi-character synchronization yet).

Quick Guide & Workflow:

  • All exported outputs are automatically stored inside ServerStorage.LazyAnimator_Outputs.
  • When saving your work, always execute in this exact order: Click GENERATE KEYFRAMESEQUENCE, then click EXPORT AS ANIMATIONSCHEMA.
  • Importing is flexible. You can link either the generated AnimationSchema (ModuleScript) or the physical KeyframeSequence. Both function identically in the plugin.
  • The plugin relies on your native Roblox Explorer rather than custom file navigation. Simply select the target Model (Rig), AnimationSchema, or KeyframeSequence in the Explorer, then click the corresponding “Link” button in the UI.
  • To upload your final animation to Roblox, locate the generated KeyframeSequence in the outputs folder, open it in the native Roblox Animation Editor, and hit publish.
  • While you can import animations previously uploaded to Roblox back into the plugin, doing so strips all plugin-specific settings (like per-limb easing baselines). Always keep your generated Schema objects safe.

Get the plugin here (Initial release, expecting possible takedowns)

can we normalize not posting resources if the resource isnt available

4 Likes

Sorry, I need to finalize the devforum first as placeholder due to I need to embed the link on the plugin’s header of the generated schema object.

Is the llm run locally or do you use an api key? How do the inner systems work? This is interesting. I might need to do something like this for R6.

The plugin is simply just a compiler. The idea here is that everything is mapped out in a custom schema(JSON Protocol) that controls how the animation flows, the AI is teached how to use the JSON, it will then make the animation through the use of JSON, feed it to the plugin and then the plugin will interpret the JSON, figure out the animation and build the physical KeyframeSequence which then be is the animation we can use. The plugin produces 2 output, the KeyframeSequence object and the interpreted JSON schema(modulescript). I didnt support R6 because R6 is simple enough to deligate the work to AI.

Anyone, plugin is now available.