URO vs Animation Budget Allocator

Hello,

We were originally using URO in our project before activating the AnimationBudgetAllocator. Now all of our meshes derive from the SkeletalMeshComponentBudgeted but some are also using URO.

In this post it mentions using the AnimationBudgetAllocator over URO. My question is, what’s the pros/cons of each one? And what happens if I have both of these enabled?

Thanks,

Paris

Hi, there are a few advantages to using the budget allocator. The main one is that it’s just easier to manage than URO. The allocator gives you global control over the update of your meshes (based on significance/screen size) via the budget that you specify, rather than having to manually specify and manually manage update rates on a per-mesh basis. The budget allocator can also disable tick for low-priority meshes. URO can’t do that; it only skips the animation update/evaluation since the logic lives within the mesh tick itself. And the budget allocator has a callback for ‘low work’ mode which you can hook into to implement custom functionality when a mesh enters that mode. In Fortnite we use that to disable tick on the weapons that are owned by the same character as the main mesh that’s being throttled.

If you have both enabled, the budget allocator will disable URO on a mesh when it’s registered with it and then re-enable it when the mesh is unregistered. So there’s no problem with having both enabled; the budget allocator will just take precedence.