【Unity】Easy Character Movement 2の使い方|旧版との違い

Unityでキャラクターを手早く動かせるアセット「Easy Character Movement」は、2021年にこの記事で使い方を紹介しました。その後、旧版はAsset Storeで新規購入ができなくなり、今は後継の「Easy Character Movement 2(ECM2)」に置き換わっています。

そこで2026年10月に記事を書き直しました。前半でECM2の特徴と、キャラクターを作ってキーボードで動かすまでの手順を、後半で旧版ECMを使っていた当時の手順(動画つき)を残しています。

旧版の Easy Character Movement(1.8.2)は、ストアのページで「非推奨(deprecated)」と表示され、新規購入はできません(2026年10月確認)。これから買うならECM2のほうです。

Easy Character Movement 2とは|旧版からの変化

ECM2は、Unity標準の Character Controller の置き換えとして作られた、キネマティック型のキャラクターコントローラーです。開発者は旧版と同じ Oscar Gracián さん。2026年10月時点でAsset Storeの価格は88ドル(税込)、最新版は2025年7月13日公開の1.4.3です。

旧版から大きく変わったのは、中身が2層に分かれたこと。土台の CharacterMovement コンポーネントが「壁や床に沿って動く」部分を受け持ち、その上の Character クラスが歩く・落ちる・飛ぶ・泳ぐといった移動モードを管理します。標準の Character Controller と同じく Move を呼んで動かす作りなので、標準に慣れている人ほど違和感なく使えると思います。

ストアの説明では、ほかにも次のような所に手が入っています。

・実際の面の法線を使った接地判定
・面ごと・オブジェクトごとに「歩ける坂」を変えられる設定
・足場の端からずるずる落ちないための、平らな底での接地判定
・段差を勢いを保ったまま上る自動ステップ

もうひとつ、v1.4.2 から「Unity 2021以降向け」と「Unity 6ネイティブ版」の2本立てになりました。Unity 6版のサンプルは Input System と URP で作られています。描画は何もしないアセットなので、Built-in・URP・HDRP のどれでも使える、というのがストアの説明です。

ECM2の使い方|キャラクターを作ってキーボードで動かす手順

ここからは公式ドキュメントの Getting Started の流れに沿って、キャラクターを作ってWASDで動かすところまでを日本語でまとめます。

1. ヒエラルキーからCharacterを作る

ヒエラルキーウィンドウで右クリックし、「ECM2」の中の「Character」を選びます。見た目のない空のキャラクター「Character」ができるので、Transform の位置を (0, 0, 0) にしておきましょう。ドキュメントでも、あとでモデルを子にした時に困らないよう、原点にしておくことを勧めています。

旧版では「ECM → Character」でしたが、メニューの名前が「ECM2」に変わっているので、旧版の記事を見ながら探すと最初はここで迷うかもしれません。

2. モデルを子にしてカプセルの大きさを合わせる

作った Character の子に、自分のキャラのモデルを入れます。お試しなら、同梱の ECM2_Capsule で十分です。

次に、CharacterMovement コンポーネントの radius(半径)と height(高さ)をモデルに合わせて調整します。この2つを変えると、当たり判定のカプセルコライダーも自動で合わせてくれるので、コライダーを別に直す必要はありません。

3. 入力用のスクリプトを付ける

この時点ではまだ動きません。Character にはSetMovementDirection(移動の向きを渡す)、Jump と StopJumping(ジャンプの開始と終了)、Crouch と UnCrouch(しゃがむ・戻る)といったメソッドがあるので、キー入力を読んでこれらを呼ぶスクリプトを書きます。

公式ドキュメントの CharacterInput の例に、日本語のコメントを付けたものがこちらです。

using UnityEngine;
using ECM2;

public class CharacterInput : MonoBehaviour
{
    // 動かすキャラクター
    private Character _character;

    private void Awake()
    {
        // 同じオブジェクトに付いている Character を取っておく
        _character = GetComponent<Character>();
    }

    private void Update()
    {
        // WASD・矢印キーの入力を読む
        Vector2 inputMove = new Vector2()
        {
            x = Input.GetAxisRaw("Horizontal"),
            y = Input.GetAxisRaw("Vertical")
        };

        // ワールド座標での移動の向きを作る
        Vector3 movementDirection = Vector3.zero;
        movementDirection += Vector3.right * inputMove.x;
        movementDirection += Vector3.forward * inputMove.y;

        // カメラが設定されていれば、カメラの向きを基準にする
        if (_character.camera)
        {
            movementDirection = movementDirection.relativeTo(_character.cameraTransform);
        }

        _character.SetMovementDirection(movementDirection);

        // 左Ctrl または C でしゃがむ
        if (Input.GetKeyDown(KeyCode.LeftControl) || Input.GetKeyDown(KeyCode.C))
            _character.Crouch();
        else if (Input.GetKeyUp(KeyCode.LeftControl) || Input.GetKeyUp(KeyCode.C))
            _character.UnCrouch();

        // スペースでジャンプ。離すと上昇をやめる(ジャンプの高さが変わる)
        if (Input.GetButtonDown("Jump"))
            _character.Jump();
        else if (Input.GetButtonUp("Jump"))
            _character.StopJumping();
    }
}

このスクリプトを Character のオブジェクトに付けて実行すれば、移動・ジャンプ・しゃがみができるようになります。ボタンを離した時に StopJumping を呼んでいるのは、長押しで高く、ちょん押しで低く跳ぶ「可変ジャンプ」に対応するためですね。

ドキュメントの注意書きによると、しゃがみで変わるのはカプセルコライダーだけで、モデルの見た目はそのままです。しゃがんだ見た目にするには、アニメーションを別に用意する必要があります。

上のコードは旧来の Input Manager(Input.GetAxisRaw)を使っています。Unity 6で新しく作ったプロジェクトでは Input System だけが有効になっていることが多く、そのままだと実行時にエラーになります。Edit > Project Settings > Player の「Active Input Handling」を「Both」にするか、ドキュメントにある Input System(PlayerInput)版の例を使ってください。

標準の Character Controller でどこまでできるかを先に知っておくと、ECM2で何が楽になるのかが分かりやすくなります。標準の使い方は別の記事にまとめています。

旧版Easy Character Movementの使い方(2021年の記録)

ここからは、2021年に旧版のECMを使ってEthanを動かした時の手順です。使っていたバージョンは「Unity2021.3.15f2」。旧版を以前に買っていて、今も手元のプロジェクトで使っている人の参考に残しておきます。当時は「有料だけど簡単に実装できるので初心者におすすめ」と書いていて、その印象は今も変わっていません。

まずは、Easy Character Movementをダウンロードしてインポートしておきましょう。

Easy Character Movementの使い方①インポート

準備が出来たら、Planeを1枚作成しておきます。キャラクターの受け皿ですね。カメラの位置もやや斜めにして見やすい位置に設定します。

Easy Character Movementの使い方②Planeとカメラ

続いてヒエラルキーウィンドウで右クリックすると「ECM」という項目が追加されていると思いますので、ECM→Characterを選択します。

Easy Character Movementの使い方③ECMのCharacter

続いてその中に「Prefabs」のEthanをドラッグ&ドロップ。

EasyCharacterMovementアセットの中には、3DモデルであるEthanも含まれているので今回はEthanを利用してキャラクターの移動を実装します。画像内のような階層にしてください。

後は実行するだけです。「A」「W」「S」「D」キーや矢印キーでキャラクターを移動できるようになります。スペースキーでジャンプも可能です。

ソースコードを書かずに、たったこれだけの作業で簡単にキャラクターの移動を実装することが出来ましたね。

Ethanにアニメーションの設定を行う

移動は出来るようになりましたが、アニメーションが再生されていないのでちょっとEthanをカスタムします。

Easy Character Movementの使い方④Custom Character Controller

ECM_Characterを選択した状態で「Add Component」から「Custom Character Controller」スクリプトをアタッチします。

元々設定されていた「Base Character Controller」スクリプトは使わないのでチェックを外します。

Easy Character Movementの使い方⑤カメラとアニメーションの設定

CustomCharacterControllerのPlayer CameraにMain Cameraを設定し、Animationの2項目にチェックを入れます。

この状態でゲームを実行すると、走るアニメーションやジャンプアニメーションが反映されました。

キャラクターのスピードも、インスペクタから数値を変更するだけですので、シンプル且つ強力なコントローラーとなっていますね。

旧版はソースコードを書かずにここまで動いたのが手軽でした。ECM2では入力のスクリプトを自分で用意する形になりましたが、その分、プレイヤーにも敵にも同じ移動処理を使い回しやすくなっています。

ECM2以外のキャラクターコントローラーと比べるなら

ECM2は88ドル(税込)なので、無料のもので足りないかを先に確かめたい人も多いと思います。Unity公式の Starter Assets(無料)、2Dにも使える Character Controller Pro、一人称・三人称を1本でこなす Ultimate Character Controller など、6本を価格と更新日で比べた記事を書きました。

キャラ以外も含めて、定番のアセットを一度に見たい人はこちらの40選もどうぞ。

まとめ:ECM2はセールの時期に買うのがおすすめ

キャラクターの移動で困ったら、ECMを利用してみると良いかもしれません。今から買うなら後継のECM2で、標準の Character Controller と同じ感覚で使えて、坂や段差、移動モードの面倒な所を肩代わりしてくれます。

88ドルとそれなりの値段なので、急ぎでなければAsset Storeのセールを待つのも手です。ECM2のような定番のツールは割引の対象になることがあるので、買う前に今のセール状況を見ておくと損をしません。

毎月更新しているAsset Storeのセール情報まとめから、開催中のセールを確認できます。

著者プロフィール
うんくん

IT系に特化した記事がメインです。(Unity多め。)
Udemy講師もやっています。よろしくお願いします。

※Amazonのアソシエイトとして、当メディアは適格販売により収入を得ています。

うんくんをフォローする
アセット
シェアする
うんくんをフォローする