A modern C++ header-only tweening library for creating complex animations in games and interactive software.
Tweeny is a modern C++ tweening library that enables developers to create complex animations for games and interactive software. It provides an intuitive API for interpolating any type of value that supports arithmetic operations, allowing smooth transitions between states. The library is designed to handle multi-point tweening, easing functions, and timeline-like control.
C++ developers working on games, interactive applications, or any software requiring smooth animations and transitions. It is particularly useful for those needing fine-grained control over animation timelines and easing curves.
Developers choose Tweeny for its modern C++ design, header-only nature with zero dependencies, and a rich set of features like 30+ easing functions, multi-point tweening, and support for heterogeneous value sets. Its intuitive API and flexibility make it a powerful alternative to manual animation code.
A modern C++ tweening library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The API uses a fluid, chainable syntax for declaring tweens, as shown in the hello world example where characters interpolate from 'hello' to 'world' with clear step-by-step control.
Includes over 30 built-in easing functions and supports custom ones, enabling complex animation curves without external libraries, as highlighted in the features list.
Zero dependencies and single-header distribution simplify inclusion into C++ projects, with options like copying the tweeny-version.h file or using CMake subprojects.
Allows seeking to any point in the animation timeline and supports step callbacks, providing fine-grained playback control for interactive or editor-like usage.
The README explicitly notes a major rewrite in progress via a PR link, which may introduce breaking changes and reduce stability for production use.
Designed exclusively for modern C++, it cannot be used in projects with other languages or environments, limiting its versatility compared to cross-platform libraries.
No mention of GUI editors or visual debugging tools; animations must be coded manually, which can increase development time for complex sequences.