Game UI Animation Development: Key Techniques and Performance Tips

Our video game development company runs independent projects, jointly creates games with the client and provides additional operational services. Expertise of our team allows us to cover all gaming platforms and develop an amazing product that matches the customer’s vision and players preferences.

From immersive apps to game worlds and 3D scenes

Our dedicated team for VR/AR/MR development, Unity production and 3D modeling & animation — with its own case studies and capability decks.

Visit the dedicated studio
Showing 1 of 1All 242 services
Game UI Animation Development: Key Techniques and Performance Tips
Medium
~3 days
Frequently Asked Questions

Our competencies

What are the stages of Game Development?

Latest works

  • image_games_mortal_motors_495_0.webp
    Game development for Mortal Motors
    1386
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    A turn-based strategy game set in a fantasy setting, With Fire and Sword
    926
  • image_games_second_team_604_0.webp
    Game development for the company Second term
    544
  • image_games_phoenix_ii_606_0.webp
    3D animation - teaser for the game Phoenix 2.
    591

Creating UI animations for games is not just decoration, but a functional element that guides the player. We integrate animations into the UI as a signaling system: every transition, confirmation, reward, or warning should be readable by the player without reading text. Proper animation reduces cognitive load and speeds up interaction. Bad animation irritates: too slow delays gameplay, too abrupt goes unnoticed. Our engineers have 10+ years of experience in game development with Unity and Unreal, and we guarantee every animation passes a performance check. Contact us to get an animation prototype in 2 days.

UI Animation Creation: Tool Selection

Animator + Animation Clips – classic under Unity. Works via Animator Controller on a Canvas object. Pros: visibility in the editor, support for Blend Trees, easy control via SetTrigger/SetBool. Cons: difficult to animate to dynamic positions. Suitable for fixed transitions: open/close screen, pulse effect on button.

DOTween – de facto standard for code-driven UI animations. RectTransform.DOAnchorPos(), CanvasGroup.DOFade(), Image.DOColor() via fluent API with sequencing. DOTween.Sequence() with .Append(), .Join(), .InsertCallback() builds complex coordinated animations. Important: when Time.timeScale = 0 animations stop – use SetUpdate(UpdateType.Normal, true) for ignoreTimeScale.

UI Toolkit Transitions – CSS-like transitions: transition-property: translate; transition-duration: 300ms;. The most declarative, but limited to transforms, opacity, and color. Ideal for hover effects and simple states.

Why Easing and Timing Matter

Duration ranges that work:

  • Micro-feedback (hover, press): 80–120 ms
  • Appearance/disappearance of small element: 150–200 ms
  • Screen transition: 250–350 ms
  • Rewards and fanfare animations: 600–1200 ms

Anything over 400 ms for utilitarian transitions irritates on repeated openings. Player opens inventory a hundred times per session – 600 ms transition = a minute of wasted waiting.

Easing functions are not symmetric: Ease Out (fast start, slow end) – for appearing elements; Ease In (slow start, fast end) – for disappearing; Ease In/Out – for state transitions. Linear easing is almost never needed – looks mechanical.

Overshoot and spring – when physics is justified. Ease.OutBack (strength 1.5–2.0) works great for pop-up notifications: element "jumps" beyond bounds and returns. Ease.OutElastic – for energetic rewards. But on fullscreen panels overshoot looks unnatural – use only for compact elements.

Case Study from Our Practice: Item Obtained Notification

On a client's project, we needed an animation for an item obtained notification. Implementation via DOTween Sequence:

  • Icon flies in from bottom with Ease.OutBack over 200 ms
  • Simultaneously (+Join) fade CanvasGroup.alpha from 0 to 1
  • After 200 ms, text appears via DOFade over 150 ms (+AppendInterval)
  • Hold for 2 s, then disappear: slide right + fade over 200 ms with Ease.InCubic

The entire sequence – 15 lines of code, reused through NotificationController.Show(item). Solved the queue problem: when quickly obtaining multiple items, the new notification displaces the old via DOTween.Kill(targetTransform).

How Animations Affect FPS

Animations in Canvas can cause Canvas Rebuild when changing position, size, or opacity. CanvasGroup.alpha does not trigger Rebuild, but changing RectTransform.position does. Animate via DOAnchorPos (local space) instead of DOMove. For scale animations, use transform.DOScale() – scale does not affect Layout, it's the cheapest type. Split animated elements into separate Canvases: if an icon blinks, its Rebuild should not rebuild the entire HUD.

Animation Type Performance Impact Recommendation
Scale Low (cached by GPU) Use for buttons and icons
Position (AnchoredPosition) Medium (triggers layout) Use for screen transitions
Alpha (CanvasGroup) Low (no Rebuild) Ideal for fade-in/out
Rotation High (triggers Rebuild) Avoid in frequent animations

What to Choose for Complex Sequences

Comparison between DOTween and Animator for multi-step animations: DOTween wins in flexibility – 3 times faster implementation (code-based), but Animator provides better visibility in editor. If sequence is fixed (e.g., shop open animation), Animator is simpler. If dynamic (depends on battle data), DOTween is more efficient.

State Animation for Buttons: Nuances

The standard Button with ColorTween is limited. Use UIAnimation on DOTween or IPointerEnter/Exit/Down handlers. Scale animation on press (scale 0.95 over 80 ms, Ease.OutQuad) – simple and effective tactile feedback for mobile platforms.

How to Implement a Notification Animation Queue Step by Step

  1. On receiving a new notification, check if a tween is active. If yes, call DOTween.Kill(targetTransform) on it.
  2. Create a new Sequence with desired animations (appear, hold, disappear).
  3. Start the sequence via sequence.Play().
  4. To prevent accumulation, set a flag that animation is busy, and reset it on completion.

This approach ensures smooth displacement of old notifications and maintains performance even under frequent calls.

What Our Work Includes

  • Animation prototype on a separate Canvas
  • Integration into existing Unity/Unreal project
  • Performance optimization (minimizing Canvas Rebuild)
  • Documentation on playback and configuration
  • Post-implementation support
Work Type Timelines
Animations for one screen (5–10 transitions) 2–5 days
Full UI kit animation (10–15 screens) 2–5 weeks
Complex fanfare animations 1–2 weeks
Code-driven animation system 1–3 weeks

Cost is calculated individually after requirements analysis. We will evaluate your project and propose the optimal solution. Order turnkey UI animation development or contact us for a consultation.

More about Canvas Rebuild: Unity Manual - Canvas