av3-animator-as-code icon indicating copy to clipboard operation
av3-animator-as-code copied to clipboard

Feature Request: Scripted Importer

Open lackofbindings opened this issue 9 months ago • 2 comments

Perhaps a bit lofty of a feature request, but I think the ideal way for people to interact with AAC would be through a scripted importer. Currently it requires quite a bit of deep unity scripting knowledge to even get started with AAC. It relies heavily on knowing how to write mono-behaviors, or else heavy reliance on modular avatar.

I'm imagining a file type with just some extension you made up, perhaps .aacs or something. This would be a plaintext file that contains only the generator code that actually constructs an animator, without any boilerplate. The importer would handle this file such that to the user it would appear to be imported as the resulting animator (along with any other files in the asset container). Ideally the inspector for the imported asset would also give the option to "bake it down" to static animator and anim assets.

Obviously some of the more complex techniques that require direct interaction with the heirarchy and modular avatar components wouldn't be possible with this system. But I imagine many people, myself included, are just looking for a tool that can streamline the creation of complex animators.

lackofbindings avatar Mar 11 '25 10:03 lackofbindings

For project maintenance, I am currently moving away from VRChat content creation and most of the apps I'm aiming to target don't even rely on animators. Therefore, I certainly will not be the one who will shoulder such a bulky feature set into AAC, especially since the main target audience of AAC are developers.

Also, when I made AAC in 2021, the availability of tools designed to simplify the tedious process of editing animator controllers in Unity wasn't what they currently are today. Today, the current landscape has tools like MACS, Controller Editor, and other tools like animation clip repathing. Personally, I think that existence of these tools in 2025 really reduces the incentive of designing a plaintext format flexible enough for the needs of non-developers.

If I was still building large VRChat-focused creations, I would probably tackle this need for making the creation of complex animators differently by creating a custom graph UI in Unity that builds animator controllers, animation clips, blend trees, parameters, expression parameters, and direct tree merging, all in a single graph interface and format, where graphs can reference other graphs (so that we can build things like smoothing blend trees and toggles using a template and reuse that template in the graph multiple times), and this graph could reference objects in the hierarchy. That way, non-developers don't have to bother solving syntax issues in some plaintext format, but the complexity of animators may be abstracted away into template graphs.

hai-vr avatar Mar 11 '25 10:03 hai-vr

Ah, understandable. Not much incentive if you're no longer involved in VRChat. For the record, by plaintext I just meant C# with the existing syntax, not an entirely new format. The intention wasn't to make something for non-developers, just to make it more accessable to maybe someone who doesn't want to write their own tools from scratch.

lackofbindings avatar Mar 11 '25 11:03 lackofbindings