Customer Support

We're here to help you get the most out of your ZeeM-Dev assets

Documentation

RTween - High Performance Tweening System

Getting Started

Beginner

Learn how to install RTween and create your first animation in under 5 minutes.

Installation
  1. Import the RTween package into your Unity project
  2. Add the RTween namespace: using RG.Tweening;
  3. Start tweening with simple API calls
Your First Tween
// Move object to position over 1 second
RTween.Move(transform, new Vector3(10, 0, 0), 1f)
    .SetEase(EaseType.OutQuad)
    .OnComplete(() => Debug.Log("Animation complete!"));

Core Concepts

Intermediate

Understand the fundamental concepts behind RTween's architecture and optimization.

Zero Garbage Collection

RTween uses object pooling and struct-based design to eliminate GC allocations during runtime. This ensures smooth performance even on mobile devices.

Tween Lifecycle
  • Creation: Tween is initialized from pool
  • Execution: Updates every frame until duration completes
  • Completion: Callbacks fire and tween returns to pool
  • Cancellation: Manual stop returns tween to pool immediately
Performance Tips
  • Cache tween references when possible
  • Use SetRecyclable(false) for tweens you'll reuse
  • Prefer Transform tweens over GameObject tweens

Tween Types

Reference

Complete reference of all 40+ tween types available in RTween.

Transform Tweens
  • Move(Transform target, Vector3 to, float duration) - Move to position
  • LocalMove(Transform target, Vector3 to, float duration) - Move local position
  • Rotation(Transform target, Quaternion to, float duration) - Rotate to euler angles
  • LocalRotation(Transform target, Quaternion to, float duration) - Rotate local
  • Scale(Transform target, Vector3 to, float duration) - Scale transform
Color & Material Tweens
  • Color(Image target, Color to, float duration) - Fade material color
  • Alpha(CanvasGroup target, float to, float duration) - Fade transparency
UI Tweens
  • UIMove(RectTransform target, Vector2 to, float duration)
  • SizeDelta(RectTransform target, Vector2 to, float duration)
Camera Tweens
  • FieldOfView(Camera target, float to, float duration)
  • OrthographicSize(Camera target, float to, float duration)

Sequences & Chaining

Advanced

Create complex animations by combining multiple tweens in sequences.

Creating Sequences
RTween.Sequence()
    .Add(RTween.Move(transform, Vector3.up * 5, 1f))
    .Add(RTween.Rotation(transform, Quaternion.Euler(0, 180, 0), 0.5f))
    .Add(RTween.Scale(transform, Vector3.one * 2, 1f))
    .SetRepeat(-1, RepeatType.Yoyo)
    .Play();
Parallel Tweens
sequence.With(RTween.Move(transform, targetPos, 1f))
    .With(RTween.Rotation(transform, targetRot, 1f));
Callbacks
tween.OnStart(() => Debug.Log("Started"))
    .OnUpdate(() => Debug.Log("Updating"))
    .OnComplete(() => Debug.Log("Finished"));

Visual Animator

Tool

Use the visual editor to create tweens without writing code.

Using the Visual Animator
  1. Add RTween Animator component to your GameObject
  2. Click "Add Tween" to create a new animation
  3. Select tween type from dropdown (Position, Rotation, Scale, etc.)
  4. Set target values and duration
  5. Choose easing function from visual curve editor
  6. Configure play settings (Auto Start, Loop, Delay)
  7. Test in Edit Mode with Preview button
Timeline Editor

The timeline view lets you visualize and edit multiple tweens at once, adjusting their timing and order with drag-and-drop.

Presets

Save your favorite tween configurations as presets for quick reuse across your project.

Frequently Asked Questions

What Unity versions does RTween support?

+

RTween is compatible with Unity 2020.3 LTS and newer versions, including Unity 6. We recommend using the latest LTS version for best performance and stability.

Is RTween really zero garbage collection?

+

Yes! RTween uses object pooling, struct-based design, and careful memory management to ensure zero GC allocations during runtime. This makes it perfect for mobile games where GC spikes can cause frame drops.

Can I use RTween with other tweening libraries?

+

Yes, RTween can coexist with other tweening solutions. However, we recommend using RTween exclusively for best performance and to avoid conflicts. You can migrate gradually by replacing tweens one at a time.

How do I get updates for RTween?

+

Updates are provided free of charge through the Unity Asset Store or GitHub releases. We regularly add new features, optimizations, and bug fixes. Check our GitHub repository for the latest version and changelog.

Does RTween work with WebGL builds?

+

Absolutely! RTween is fully optimized for WebGL and has been tested extensively in browser environments. The zero GC architecture makes it especially performant in WebGL where garbage collection can be particularly problematic.

Can I use RTween in commercial projects?

+

Yes! RTween license allows use in unlimited commercial projects. There are no royalties or additional fees. See our Terms of Service for complete licensing details.

What's the difference between RTween and other tweening solutions?

+

RTween focuses on maximum performance with zero garbage collection, making it ideal for mobile and performance-critical applications. It includes a visual animator for designers, supports 40+ tween types, and is optimized for all Unity platforms including VR and AR.

How do I report a bug or request a feature?

+

You can report bugs or request features through our GitHub issues page or by emailing us at zeemdev1@gmail.com. Please include your Unity version, platform, and steps to reproduce any issues.

Troubleshooting

🔴 Tweens Not Playing

Possible causes:

  • GameObject is inactive
  • Tween was cancelled before completion
  • Duration set to 0
  • Time.timeScale is 0 (game paused)

Solutions:

  • Ensure GameObject is active in hierarchy
  • Check if tween is being killed elsewhere in code
  • Set a valid duration greater than 0
  • Use SetUpdate(UpdateType.UnscaledTime) for pause-independent tweens

⚠️ Performance Issues

Common causes:

  • Too many active tweens
  • Complex callbacks executing every frame
  • Memory leaks from uncancelled tweens

Optimizations:

  • Kill tweens when no longer needed: tween.Kill()
  • Use object pooling for frequently created tweens
  • Profile with Unity Profiler to identify bottlenecks
  • Avoid OnUpdate callbacks when possible

🐛 Unexpected Behavior

Check for:

  • Multiple tweens affecting the same property
  • Tween conflicts with physics or other systems
  • Incorrect easing function selection

Debug steps:

  • Enable debug logging: RTween.SetLogLevel(LogLevel.Debug)
  • Check tween status: tween.IsActive
  • Verify target values and duration
  • Test with simple tween first, then add complexity

📱 Mobile-Specific Issues

Common problems:

  • Frame rate drops on older devices
  • Tweens pausing when app backgrounds
  • Touch input conflicts

Mobile tips:

  • Reduce simultaneous tween count on low-end devices
  • Use simpler easing functions (Linear, OutQuad)
  • Handle app pause/resume events properly
  • Test on target devices early and often

Contact Support

📧

Email Support

For detailed inquiries and technical support

Email Us

Response time: 24-48 hours

Best for: Bug reports, feature requests, technical issues

💬

Discord Community

Join our community for real-time discussions and support

Join Discord

Response time: Real-time community support

Best for: Quick questions, community discussions, networking

💻

GitHub Issues

Report bugs and track development

Open Issue

Response time: 1-3 days

Best for: Bug reports, feature requests, public discussions

Tips for Faster Support

1

Include Version Info

Always mention your Unity version, RTween version, and target platform

2

Provide Code Samples

Share the specific code that's causing issues, preferably as a minimal reproducible example

3

Describe Expected vs Actual

Clearly explain what you expected to happen and what actually happened

4

Check Documentation First

Many questions are answered in our documentation and FAQ sections above