I have to question this whole thing:
The meta human licensing is horrible (like most epic free stuff) and what this gets you is no better than a day’s worth of custom work - yet without any of the benefits…
But I guess its fine for UFN where you have no rights to anything anyway?
That said:
This should prbably work the other way around;
where you give it a mesh to sample, and any bone that doesn’t match is deleted.
That way at least in theory, you could rename the bones on the original manny to match the MetaHuman trash, process it, and get meshes that have everything except the old setup deleted (with new names).
Could go a step further and pull the XML skeleton definition out the engine retargeting to use the same engine generated files to process this too.
On the rest, maximum number of bone per vertex should be hard set to 4.
Thats how the static mesh pipleline enforced it until they messed with it specifically for meta humans, so rewinding that to the same limit would net you some more performance (when dealing with groups thats probably important).
Overall, even with 1 bone you have performance issues that are otherwise not present when using something like an alembic cache.
Thats mostly because of the stuff built into the skeletalmesh class. Its actually the reason why real games that have a real need for billions of animated instances use shaders to make it happen - and its sort of engine agnostic.
While Epic just does it worse than everyone else when it comes to performance, they also quite literally just dgaf - never have, never will - so I don’t know that the engine can even be classified anywhere on any performance scale of any sort against any other engine…
And obviously what you attempt has a cost in anytjing you attempt it with. Billions of moving objects are expensive. Period.
So, basically, a crowd like the one you shared the image of should probably be exported to a DCC, merged into an alembic and re-loaded in engine anyway.
Another thing you can look into is to enable the animation sharing setup on the meshes… it would help you run something like 100 actual skeletal meshes with the basic 14 to 16 bone setup…
Past that, the problem is again processing and ticks (each skeletal mesh having its own tick). So creating a manager for them would be a gain (probably outside the UFN realm, that I don’t really know).