--For minimap it's created by a SPRITE Frame, then call BlzFrameSetSpriteAnimate to play animation.
--For ping unit, simply create a unit with locust ability, allowing it shown in invisible area. If you need to hide it from enemy players, asynchronously call BlzSetUnitSkin( or maybe other methods) to change unit's model so it becomes invisible on enemy players' clients.
And glad you like it. I'm still thinking if there's a better way to implement... So far I have to play models' animation manually. Maybe people could find out if something wrong about these models?