LitMotionとPrimeTweenは、どちらも従来の業界標準であるDOTweenに代わる 「次世代・超高性能・ゼロアロケーション(GC発生なし)」 を謳うUnity用Tweenライブラリです。
結論から言うと、 どちらを選んでもパフォーマンスは劇的に向上します が、設計思想と使い勝手に明確な違いがあります。
以下に詳細な比較をまとめました。
1. 比較サマリー表
| 項目 | LitMotion | PrimeTween |
|---|---|---|
| コア技術 | Unity Jobs System + Burst Compiler | 高度に最適化されたC# (プーリング技術) |
| パフォーマンス | 最強クラス (特に大量のオブジェクト動作時) | 非常に高い (DOTweenより遥かに高速) |
| セットアップ | 依存パッケージのインストールが必要 (Burst, Collections, Mathematics) |
インポートするだけ (依存なし) |
| 書き味 | Builderパターン (構築してからBind)LMotion.Create(...) |
Staticメソッド / 拡張メソッドTween.Position(...) |
| 直感性 | プログラマ向け (構成が明快) | DOTweenユーザーに馴染みやすい |
| Rx/Async連携 | 強力 (UniTask, R3とネイティブ連携) | 標準機能で十分対応可能 |
| 安全性 | ターゲット消失時の挙動を自分で管理する傾向 | ターゲットがDestroyされたら自動で安全に停止 |
2. パフォーマンス比較
両者とも「ゼロアロケーション(実行時にゴミを出さない)」を達成していますが、アプローチが異なります。
LitMotion:
PrimeTween:
- 仕組み: 一般的なC#の最適化とキャッシュ/プーリング技術を極限まで高めています
- 強み: Jobs Systemのオーバーヘッドがないため、少数のTween(UIのアニメーションなど)であればLitMotionと同等か、場面によってはごく僅かに速い場合もあります
- 評価: 一般的なゲーム用途では十分すぎるほど高速です
判定: 大量演算なら LitMotion、手軽さと高速さのバランスなら PrimeTween。
3. 書きやすさ (Syntax) の比較
ここが好みの分かれる最大のポイントです。
LitMotion (Builderパターン)
「値を作る」→「設定する」→「対象に紐付ける」という手順が明確です。
// LitMotionの書き方 LMotion.Create(0f, 10f, 2f) // 0から10まで2秒かけて .WithEase(Ease.OutQuad) // イージング設定 .BindToPositionX(transform); // transform.position.x に紐付け
PrimeTween (メソッドコール/拡張メソッド)
「何を」「どうする」を一発で記述します。DOTweenに近いです。
// PrimeTweenの書き方 Tween.PositionX(transform, 10f, 2f, Ease.OutQuad); // または拡張メソッド風 transform.DOMoveX(10f, 2f); // ※PrimeTweenにも拡張メソッドAPIがあります
判定: コードの構造化・美しさを好むなら LitMotion、短く書きたいなら PrimeTween。
4. 停止・待機・イベント制御
非同期処理(async/await)やキャンセルの扱いに違いがあります。
LitMotion
MotionHandle という構造体を通して制御します。UniTask や R3 (Reactive Extensions) との親和性が設計レベルで考慮されています。
// ハンドルを取得して制御 var handle = LMotion.Create(0, 1, 1f).BindToPositionX(transform); // 待機 (UniTaskが統合されているためスムーズ) await handle; // 停止 handle.Cancel(); // Rx連携 (R3) Observable.EveryUpdate().Subscribe(_ => ...); // などの連携が強力
PrimeTween
Tween 構造体を返します。ターゲット(GameObject)が死んだときの「安全性」を強く意識しています。
// Tween構造体を取得 Tween t = Tween.PositionX(transform, 10f, 1f); // 待機 await t; // 停止 t.Stop(); // 特徴: 安全性 // PrimeTweenは、transformがDestroyされると自動的にTweenも止まり、エラーを吐きません。 // LitMotion等では、適切にCancelOnDestroyを設定しないとエラーになる場合があります。
5. 機能面の違い
LitMotion:
CancelOnDestroyなどのライフサイクル管理を明示的に書くスタイル(Rx的)- テキスト(TextMeshPro)の文字送りアニメーションなどが標準で強力(ScrambleModeなど)
- 依存パッケージ(Burst, Collections)が必要なため、プロジェクトのセットアップが少し増える
PrimeTween:
- シェイク(Shake)やパンチ(Punch)などの演出系プリセットが豊富で、感覚的に使いやすい
- インスペクターでのデバッグ機能などが親切
- パッケージ依存がなく、導入が非常に楽
どのライブラリを選ぶべきか?
LitMotion がおすすめな場合
- UniTask や R3 / UniRx をガッツリ使っているプロジェクト
- 大量の弾幕、UIパーティクルなど、極限のパフォーマンスが必要な場合
- 「魔法のような挙動」よりも「明示的でコントロール可能なコード」を好む場合
- MagicOnionなど、Cysharp系/AnnulusGames系の技術スタックが好き
- DOTween Animation ComponentのようなInspectorからアニメーションを作りたい
PrimeTween がおすすめな場合
- DOTweenからの移行を考えていて、似た使用感でパフォーマンスだけ上げたい場合
- Burst Compilerなどの追加パッケージを入れたくない、シンプルに保ちたい場合
- UIアニメーションやキャラのちょっとした動きなど、一般的な用途がメイン
- 「ターゲットが消えたら勝手に止まってほしい」という安全性を重視する場合
パフォーマンステスト
ドキュメントとサポート
LitMotionとPrimeTweenは、開発者の背景が異なるため、ドキュメントの言語やサポート体制に明確な違いがあります。
特に日本の開発者にとっては、「日本語の一次情報があるかどうか」 が最大の分岐点となります。
1. ドキュメントとサポートの比較サマリー
| 項目 | LitMotion | PrimeTween |
|---|---|---|
| 開発者 | 日本人の個人開発者 (Annulus Games) | 海外の開発者 (Kyrylo Kuzyk) |
| ドキュメント言語 | 日本語 (ネイティブ) / 英語 | 英語のみ |
| ドキュメント形式 | 体系的なマニュアル (導入→基礎→応用とページが分かれている) |
超長文のREADME (1ページ) (機能一覧、比較、APIが1ページに集約) |
| 技術記事 (Qiita/Zenn) | 非常に多い (作者本人やコミュニティによる解説が豊富) |
少ない (基本は翻訳記事や公式README頼み) |
| サポート対応 | GitHub Issues / X (Twitter)での日本語メンション可 | GitHub Issues / Unity Forum (英語必須) |
| 更新頻度 | 活発 (機能追加やUniTask/R3対応など) | 非常に活発 (バグ修正や最適化が早い) |
2. LitMotion の特徴
🇯🇵 日本語ネイティブにとっての「安心感」
LitMotionの最大の利点は、公式ドキュメントが完璧な日本語で書かれていること です。翻訳調ではなく、最初から日本人に向けて書かれているため、仕様の細かなニュアンスや「なぜこの機能が必要なのか」という背景まで理解しやすいです。
- 構成:
- 「インストール」「基本的な使い方」「Rxとの連携」「トラブルシューティング」のようにページが整理されており、教科書のように順を追って学べます
- コミュニティ:
- 作者(Annulus Games氏)が日本のUnityコミュニティ(X/Twitter、Qiita、Zenn)で非常に活発です
- 使い方がわからない場合、日本語で検索すれば解決策が見つかる可能性が非常に高いです
結論: 英語が苦手な方、日本語の技術記事を参考に開発を進めたい方に最適です。
3. PrimeTween の特徴
🌍 海外製らしい「実利主義」なドキュメント
PrimeTweenのドキュメント(README)は、「DOTweenよりどれだけ優れているか」 を証明することに重きを置いています。
- 構成:
- 内容:
- サポート:
結論: コードさえあれば理解できる中・上級者、英語のドキュメントに抵抗がない方に向いています。
4. 具体的なドキュメントへのリンク(雰囲気の確認)
実際にリンクを開いて、「読みやすさ」を比較してみるのが一番早いです。
LitMotion ドキュメント (日本語)
- LitMotion User Manual (JA)
- ※非常にきれいに整形されており、左側のメニューから知りたい項目へ飛べます
PrimeTween ドキュメント (英語)
- PrimeTween GitHub README
- ※スクロールしていくと、機能比較や使い方が延々と続く「1ページ完結型」です
どちらを選ぶべき?
「困ったときに日本語で質問したい、日本語の記事を読みたい」
- 👉 LitMotion 一択です。UniTaskやR3といった、日本で人気のライブラリとの連携情報も日本語で手に入ります
「英語は苦ではない。とにかく導入が楽で、海外のフォーラム情報も自分で漁れる」
- 👉 PrimeTween でも問題ありません。世界的なユーザー数は多いため、英語で検索すれば情報は出てきます