Is it using the Unreal Movement Component? If so, I’d suggest going the animation route. If movement is already being replicated, your animation blueprint will work seamlessly without any necessary RPCs or added replication. By creating an animation blueprint to handle the appearance of the ball rolling, it will simply “work” for clients when setup properly. With a material or any other solution, you’d likely be adding a bit of bloat (albeit, a very slight amount) with additional replication. For example, multicasting the material change. If the material accepted a parameter, and you simply passed the parameter into the material based on the movement component, I don’t think you would need any additional replication there either, so long as you used that material from start to finish and didn’t need to dynamically change the material. Both would be totally fine in this scenario, but I would wager that the animation would be more efficient by an extremely unnoticeable amount (might have to try it with thousands of actors to see the impact).
This is where you’d get into unnecessary bloat if you weren’t careful. If you’re already using the movement component, you’d simply be piling on interpolation where the movement component already does this. I’d steer clear of any scenarios like this. Any logic which depends on getting all players’ actors should largely be avoided, barring edge cases where it’s absolutely necessary. The edge cases are why you avoid it, because when it’s necessary you want to be able to use it without a massive hit on performance. If you have a bunch of other logic which is unnecessarily getting all players’ pawns on tick/interval, those edge cases will be negatively impacted in regards to performance. It doesn’t take long before your frames are noticeably worse because of a few cases where you’re doing this sort of thing. They are multiplicative in regards to performance; You could see a ~1-2 frame drop with only one, and with two you may see a ~8-12 frame drop, and so on.
I’m all for the functionality which already exists in a very tidy, efficient setup. UE4’s character component combined with an animation blueprint is very well optimized and should be utilized when possible, imo.