はじめに
Unityでゲームを作る際に「キーボード入力の取得」は欠かせません。
その中でも重要なのが、**KeyCode(キーコード)**という概念です。
この記事では、
- KeyCodeとは何か?
- どのように使うのか?
- よく使うKeyCode一覧
- Inputクラスとの組み合わせ
- 実践的な使い方
などを7000文字に渡って徹底的に解説していきます。
これを読めば、Unityでのキーボード入力判定に困ることはなくなります!
KeyCodeとは?
**KeyCodeは、Unityで使用されるキーボード入力を表す列挙型(enum)**です。
例:
このように、プレイヤーがキーボードのキーを押したかどうかを簡単に検出できます。
Unityにおける入力取得の基本
Unityでは、ユーザーのキーボード操作を取得するために、InputクラスとKeyCodeを組み合わせて使います。代表的なメソッドは以下の通りです。
| メソッド | 概要 |
|---|---|
Input.GetKey() | キーが押されている間に true を返す |
Input.GetKeyDown() | キーが押された瞬間に true を返す |
Input.GetKeyUp() | キーが離された瞬間に true を返す |
よく使うKeyCode一覧【保存版】
以下はUnityで頻繁に使用されるキーのKeyCode一覧です。
方向キー(矢印キー)
文字キー(A~Z)
数字キー(上部の数字)
数字キー(テンキー)
機能キー・その他
Input.GetKey系の使い分け
GetKey()
ゲームの移動処理などで、キーを押しっぱなしにしている間の動作に使います。
GetKeyDown()
アクションのトリガーなど、一度だけの反応が欲しいときに使います。
GetKeyUp()
キーを離したときのアクションに利用可能です。
よくある間違いと対策
間違い①:GetKeyDownの継続使用
これでは、キーを押した瞬間にしか移動しません。移動処理にはGetKey()を使いましょう。
間違い②:キー名のスペルミス
KeyCodeは大文字小文字を区別します。たとえば、KeyCode.wは存在しません。
✅ 正しい例:
キーコンフィグ機能を作るならKeyCodeは必須!
プレイヤーがキー設定をカスタマイズできるようにするには、KeyCodeを動的に管理する必要があります。
さらに、設定をPlayerPrefsなどで保存・読込できるようにすれば、柔軟性のあるキー設定が可能です。
実践的なサンプルコード集
WASD移動とジャンプ
デバッグ用の隠しコマンド実装
複数キーを組み合わせたショートカット実装も簡単にできます。
KeyCodeは非推奨になる?【最新情報】
UnityのInput System(新しい入力方式)では、KeyCodeの代わりにKeyやInputActionを使うことが推奨されています。
ただし、従来のMonoBehaviourベースの開発では、まだまだKeyCodeは現役です。軽量なゲームやプロトタイプ開発では十分な選択肢です。
補足:KeyCodeを文字列で取得する方法
文字列からKeyCodeに変換するには、Enum.Parseを使います。
これを応用すれば、設定ファイルやUI入力からキーを動的に反映できます。
KeyCodeに関するFAQ
Q. マウスボタンはKeyCodeで取得できる?
A. マウスボタンはInput.GetMouseButton()などで取得します。
マウスクリックはKeyCode.Mouse0などでは取得できません。
Q. 特殊キー(F1〜F12など)は使える?
A. はい、以下のように対応しています。
Q. 日本語入力(かな/英数)には対応している?
A. 一部の特殊キー(変換、無変換、英数など)はKeyCodeで対応できません。代替策として、新Input Systemを使うか、OS依存のコードが必要です。
まとめ|KeyCodeはUnity開発の基本
Unityでキーボード入力を扱ううえで、KeyCodeの理解はとても重要です。
本記事のポイントを振り返ります:
✅ KeyCodeはキーボードの各キーに対応する定数
✅ Input.GetKey()などと組み合わせて使用
✅ 移動、ジャンプ、メニュー表示など多様な用途に活用可能
✅ キーコンフィグやショートカットキー実装も簡単
✅ 新Input Systemでも基本概念は引き継がれている
これからUnityで開発を進めていく上で、ぜひこの備忘録を活用してください。
おわりに
Unity開発におけるキーボード操作の基礎である「KeyCode」。
複雑なことはせずとも、しっかりと動作するゲームを作るための基盤です。
「最近使ってなかったから忘れてしまった…」
「キー操作をカスタマイズできるようにしたい」
という方はぜひこの記事をブックマークして、開発中にご活用ください!
📝この記事が役に立ったと思ったら、ぜひシェアお願いします!
Unity開発に関するその他の記事も随時更新予定です!