The best part of having written a giant animation batch processing tool as an Unreal 5 editor plugin: when there's One More Thing that needs to be done to a massive animation library, it's a simple matter of adding a new metadata worker type.
Such as, say, "fix IK targets".
Oh, that thing in ue5-main would be really useful. Let's build from source.
Visual Studio: *build 3 projects out of solution, crash*
Huh. Let's try that again.
Visual Studio: *2 more projects, crash*
Okay...
Visual Studio: *5 more projects, crash*
...why.
Using Unreal for the first time, ages ago:
Good lord, this engine *really* loves templated classes and preprocessor macros. How do people follow the flow of this code?
Today:
(Moreover, this *did* at least provide an opportunity to learn how to do all the track creation and key additions via the modern UAnimDataModel rather than the old-school UAnimationBlueprintLibrary.)
Victory!
Of course, this entire thing was to generate a "Yaw_Alpha" track. So this might be overkill!
But it is generalized and extensible; new metadata operations can now be added with a trivial amount of effort.
So, probably worth it in the long run?
So you just basically subclass the tab providing a class for the settings, a worker class, and a UClass representing the asset type... register that class with the "Rooitools" editor toolbox plugin, and et voila, new batch operations tab in the editor.
CODE REUSE! π₯³π
That giant mess of templated C++ does, in fact work. The tool to generate animation metadata for use in an animation/locomotion system is well underway, though needs quite a few more options added to fine-tune desired behavior.
As an added bonus, the code that generates a Slate tab, configuration panels, and can dispatch tasks and track progress in a log and progress bar? That's *all* also a giant mess of templated C++ code!
Today was spent writing a complex system to do some irritatingly large-scale stuff in Unreal 5. It's finally together enough to compile... and the whole thing worked perfectly on the first try.
This is mildly alarming. There must be some hidden bug, right?
I did a thing.
It's a thing that's still rough around the edges -- and there's something wrong in my math in certain situations -- but I've long wanted a portal you could physically stand half-in/half-out of.
And this is a solid base! #gamedev#UnrealEngine