1. はじめに
「スマホで遊べるゲームを作ってみたい!」そう思ったことはありませんか?
Unityを使えば、プログラミング初心者でも簡単にスマホ向けゲームを開発できます。
本記事では、Unityを使ってゼロからスマホゲームを作る方法をわかりやすく解説します。
環境構築から基本的な操作、ゲームの作り方、そして実際にスマホにビルドする方法まで、一歩ずつ説明していきます。
Unityとは?スマホゲーム開発に最適な理由
Unityは、世界中のゲーム開発者が使っているゲームエンジンです。
特にスマホゲーム開発に適しており、次のようなメリットがあります。
- 無料で使える!(※年間売上20万ドル以下ならPersonal版が無料)
- AndroidとiOSの両方に対応! 一つのプロジェクトで両OSにリリースできる
- 直感的な操作で簡単に3D/2Dゲームが作れる!
- 豊富なアセットストア! キャラクターや背景、エフェクトを簡単に追加可能
つまり、「プログラミングはちょっと不安…」という人でも、Unityなら視覚的に操作できるので簡単にゲームを作れるのです!
本記事で学べること
本記事では、以下の流れでスマホゲームを作る手順を学びます。
- Unityのインストールと環境構築(Android/iOS向けの設定)
- ゲームオブジェクトの作成と操作(基本的なオブジェクトの配置や移動)
- スクリプトを使って動きをつける(プレイヤーの操作を実装)
- UIの作成(ボタンやスコア表示を追加)
- スマホ向けの最適化(軽量化やパフォーマンス向上)
- ゲームをスマホにビルドする(Android/iOSに出力)
この記事を読みながら作業すれば、実際にスマホで遊べるゲームを作れるようになります!
それでは、さっそくUnityをインストールしてゲーム開発を始めましょう!
2. Unityのインストールと環境構築
スマホゲームを作るには、まず Unityのインストール と 開発環境の準備 が必要です。
ここでは、WindowsとMacの両方でUnityをインストールし、Android・iOS向けの開発環境を整える方法を解説します。
Unity Hubのダウンロードとインストール
Unityをインストールするには、Unity Hub という公式の管理ツールを使います。
Unity Hubを使うことで、複数のバージョンのUnityを簡単に管理できます。
スマホ向け開発に必要なモジュールを追加
Unityは、PC向けゲームだけでなく スマホゲーム も作れます。
AndroidやiOS向けに開発するには、専用のモジュールを追加する必要があります。
① Android向けのモジュールを追加
Android用のゲームを作るには、以下のモジュールを追加します。
- Android Build Support
- OpenJDK(Java開発キット)
- Android SDK & NDK Tools
追加方法:
- Unity Hubで「インストール」タブを開く
- 先ほどインストールしたUnityの 右側の「…」ボタン をクリック
- 「モジュールを加える」を選択
- 「Android Build Support」にチェックを入れる
- 「OpenJDK」「SDK & NDK Tools」も選択
- 「変更を適用」をクリックし、インストール完了まで待つ
② iOS向けのモジュールを追加(Macのみ)
iOSアプリを開発する場合は、以下のモジュールを追加します。
- iOS Build Support
さらに、Macに Xcode をインストールしておく必要があります。
追加方法:
- Macの App Store で「Xcode」を検索
- Xcodeをインストール(無料)
- Xcodeを開き、「ライセンスに同意する」を選択
スマホ向けプロジェクトの新規作成
Unityのインストールが完了したら、早速スマホ向けのプロジェクトを作成しましょう!
① 新しいプロジェクトを作成
- Unity Hubを開く
- 「新規プロジェクト」ボタンをクリック
- テンプレートの選択
- 3D Core(3Dゲームを作りたい場合)
- 2D Core(2Dゲームを作りたい場合)
- プロジェクト名 を入力(例:「MyMobileGame」)
- 保存場所を選択(デフォルトでOK)
- 「作成」ボタンをクリック

② プラットフォームをスマホ向けに変更
デフォルトでは、Unityのプロジェクトは PC向け になっています。
スマホゲームを作るには、プラットフォームを変更する必要があります。
- Unityエディタのメニューから 「File」→「Build Settings」 を開く
- 「Platform(プラットフォーム)」の一覧から
- Android を選ぶ(Android用ゲームを作る場合)
- iOS を選ぶ(iOS用ゲームを作る場合)
- 右下の「Switch Platform(プラットフォームを切り替え)」をクリック
- 少し待つと、プロジェクトがスマホ向けに切り替わる


これで、Unityでスマホゲームを開発する準備 が整いました!
実際にゲームオブジェクトを配置し、基本的な動きをつけていきましょう!
3. ゲーム開発の基本
スマホゲームを作るには、まず Unityの基本操作 を理解することが大切です。特に ヒエラルキー(Hierarchy) や インスペクター(Inspector) の使い方を知っておくと、スムーズにゲームを作れるようになります。このステップでは、Unityの基本的な操作を学びながら、ゲームオブジェクトを配置してみましょう!
3.1 ヒエラルキーとインスペクターの使い方
Unityの画面にはさまざまなウィンドウがありますが、ゲームを作る上で特に重要なのが ヒエラルキー(Hierarchy)ウィンドウ と インスペクター(Inspector)ウィンドウ です。
3.2 オブジェクトを配置してみよう
ゲームの舞台となる 床 を作って、その上にプレイヤーが乗れるようにしてみましょう!
4. スクリプトでゲームに動きをつける
ゲームを作る上で「キャラクターが動く」「タップするとアクションする」などの動作を実現するには、スクリプトを書く必要があります。Unityでは**C#(シーシャープ)**というプログラミング言語を使って、ゲームの挙動をプログラムします。
この記事では、オブジェクトを動かす基本的なスクリプトの作り方と、タップやスワイプで操作できるプレイヤーの動きを実装していきます。
4-1. C#スクリプトの基礎
まずは、Unityでスクリプトを作る方法と、オブジェクトを動かす基本を学びましょう。
4-2. スマホ向けのタップ操作
スマホではタップでジャンプさせる動きを実装します。
スクリプトを変更
以下のコードを追加すると、画面をタップしたときにキャラクターがジャンプするようになります。
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float speed = 5f;
public float jumpForce = 7f;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>(); // Rigidbodyを取得
}
void Update()
{
// 左右移動
float move = Input.GetAxis("Horizontal");
transform.position += new Vector3(move * speed * Time.deltaTime, 0, 0);
// タップでジャンプ
if (Input.GetMouseButtonDown(0))
{
rb.velocity = new Vector3(rb.velocity.x, jumpForce, rb.velocity.z);
}
}
}
コードの解説
rb = GetComponent<Rigidbody>();
→ オブジェクトに物理演算(重力など)を適用Input.GetMouseButtonDown(0)
→ 画面をタップしたらジャンプrb.velocity = new Vector3(rb.velocity.x, jumpForce, rb.velocity.z);
→ 現在の速度に上方向の力を加える(ジャンプする)
4-3. スマホ向けのスワイプ移動
スマホではスワイプで左右に移動させることができます。
スワイプ操作を実装する
以下のコードを追加すると、指でスワイプしてキャラクターを左右に移動できます。
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float speed = 5f;
private Vector2 startTouchPosition, endTouchPosition;
void Update()
{
// スワイプ開始時の座標を取得
if (Input.GetMouseButtonDown(0))
{
startTouchPosition = Input.mousePosition;
}
// スワイプ終了時の座標を取得
if (Input.GetMouseButtonUp(0))
{
endTouchPosition = Input.mousePosition;
float swipeDistance = endTouchPosition.x - startTouchPosition.x;
// スワイプの方向を判定(右へスワイプなら正、左へスワイプなら負)
if (Mathf.Abs(swipeDistance) > 50) // 50ピクセル以上動いたら反応
{
float moveDirection = swipeDistance > 0 ? 1 : -1;
transform.position += new Vector3(moveDirection * speed, 0, 0);
}
}
}
}
コードの解説
startTouchPosition = Input.mousePosition;
→ タッチ開始時の座標を取得endTouchPosition = Input.mousePosition;
→ 指を離したときの座標を取得swipeDistance = endTouchPosition.x - startTouchPosition.x;
→ スワイプの距離を計算if (Mathf.Abs(swipeDistance) > 50)
→ 50px以上スワイプしたら移動moveDirection = swipeDistance > 0 ? 1 : -1;
→ 右スワイプなら右へ、左スワイプなら左へ移動
まとめ
- キーボード操作 →
Input.GetAxis("Horizontal")
を使って移動 - タップ操作 →
Input.GetMouseButtonDown(0)
を使ってジャンプ - スワイプ操作 →
startTouchPosition
とendTouchPosition
を使って左右移動

このスクリプトを適用することで、スマホでも快適にプレイヤーを動かせるようになります!これを応用してゲームを作成していきましょう!
5.アセットを使用して開発時間を短縮しよう
Unityでスマホゲームを作るなら、便利なアセットを活用することで開発の手間を大幅に削減できます。特に「ハイパーカジュアルゲーム」など、シンプルで遊びやすいゲームを作る場合は、テンプレートやツールを使うのがおすすめです。
ここでは、スマホゲーム開発初心者にぴったりのアセットを5つ紹介します!
① Hyper Casual Starter Kit
「Hyper Casual Starter Kit」は、シンプルで直感的なハイパーカジュアルゲームを素早く作成できるテンプレートです。タップやスワイプの操作がすでに組み込まれているので、すぐにゲーム開発をスタートできます。
✅ おすすめポイント
- 直感的な操作(タップ&スワイプ)がすぐに使える
- 簡単なカスタマイズでオリジナルゲームが作れる
- モバイル向けに最適化済み
② Hyper Casual Games Kit Mobile
このアセットは、複数のミニゲームテンプレートをまとめたパックになっています。スワイプやドラッグ操作、キャラクター移動など、ハイパーカジュアルゲームでよく使われるシステムが含まれています。
✅ おすすめポイント
- いくつものテンプレートが含まれていてすぐに使える
- スワイプ、ドラッグ、タップの動作が簡単に設定可能
- モバイル向けの最適化済みで、軽量なゲーム開発が可能
③ Hyper Casual Games Bundle
このバンドルには、シンプルなゲームのサンプルが複数収録されており、初心者でもすぐにゲームを作成できます。特に、ゲーム開発のアイデアに困っている人におすすめです。
✅ おすすめポイント
- すぐに遊べるサンプルゲーム付き
- コードの書き方を学びながら開発できる
- モバイル向けの最適化がされている
④ Mobile Tools
スマホゲームを開発する際に必要な機能が詰まった便利ツール集です。広告の実装、バイブレーション、簡単なモバイル操作など、スマホならではの機能を簡単に追加できます。
✅ おすすめポイント
- バイブレーションやジャイロ機能の実装が簡単
- 広告の組み込みがしやすい
- モバイル向けのゲーム開発に必須のツールがそろっている
⑤ NGUI: Next-Gen UI
「NGUI」は、Unityの標準UIシステムよりも高性能で柔軟なUI設計ができるアセットです。スマホゲーム向けのUIを作る際に、直感的にデザインできるので、操作性の良いゲームが作りやすくなります。
✅ おすすめポイント
- 使いやすいUI設計ツール
- スマホゲームに最適なボタンやメニューを簡単に作れる
- パフォーマンスが良く、軽量なUIを作れる
まとめ
Unityでスマホゲームを作るなら、こういったアセットを活用することで開発時間を短縮し、初心者でも簡単にゲームを作ることができます。特に、ハイパーカジュアルゲームを作るなら、テンプレートを使うことですぐに動くゲームを作り、アレンジしながら学ぶことができます。

気になるアセットがあれば、ぜひ試してみてください!
6. スマホ向け最適化
スマホ向けゲームを作る場合、パソコンでの開発時と異なり、処理速度やメモリの制限を考慮する必要があります。最適化をしないと、ゲームがカクついたり、最悪の場合クラッシュしてしまうことも…。ここでは、スマホ向けにゲームを軽量化し、快適に動作させるための最適化ポイントを紹介します。
① 不要なオブジェクトを削除しよう
開発中は、いろいろなオブジェクトを追加して試すことが多いですが、最終的に使わないオブジェクトは削除しましょう。特に、シーン内に存在しないのに読み込まれているオブジェクトがあると、無駄な処理が増えてしまいます。
対策方法
- Hierarchy(ヒエラルキー)ウィンドウをチェック
→ 使っていないオブジェクトを削除 - Profiler(プロファイラー)を使って負荷の大きいオブジェクトを確認 → メモリを大量に使っているオブジェクトを特定
- 不要なスクリプトやコンポーネントを削除 → 使っていないスクリプトやエフェクトを無効化・削除
② テクスチャサイズを小さくして軽量化
スマホゲームでは、テクスチャのサイズが大きいとメモリを圧迫し、ゲームが重くなる原因になります。適切なサイズに圧縮して、負荷を減らしましょう。
対策方法
- テクスチャのインポート設定を変更する
- Inspector(インスペクター)ウィンドウでテクスチャを選択
- Texture Typeを「Sprite(2D ゲーム)」または「Default」に設定
- Max Sizeを512や1024に変更(過剰なサイズは不要)
- **Compression(圧縮)**を「Normal Quality」にする
- 不要なアルファチャンネルを削除
- 不透明なテクスチャは「Alpha is Transparency」のチェックを外す
- 透明部分を使わない場合、無駄なデータを削減できる
③ オブジェクトの描画負荷を減らす
スマホはPCほどのGPU性能がないため、多くのオブジェクトを表示するとフレームレートが下がります。特に、不要な描画を減らすことが大切です。
対策方法
- オブジェクトの数を減らす
- できるだけ一つのオブジェクトにまとめる(例:木のオブジェクトを一つのメッシュに統合)
- 遠くのオブジェクトは表示しないようにする(LODやカリングを活用)
- カリング(Culling)の活用
- カメラに映っていないオブジェクトを自動で非表示にする
- **オクルージョンカリング(Occlusion Culling)**を有効化
- **「Window」→「Rendering」→「Occlusion Culling」**で設定
- ライティングの簡略化
- スマホ向けには「リアルタイムライティング」よりも「ベイクドライティング」を使う
- 「Directional Light」だけでなく、できるだけライトの数を減らす
④ フレームレートを安定させる
フレームレート(FPS)が安定しないと、ゲームの動きがカクついてしまいます。適切なフレームレートの設定を行い、安定した動作を目指しましょう。
対策方法
- FPSを固定する
Application.targetFrameRate = 60;
を設定- 必要に応じて、30FPSに設定してバッテリー消費を抑える
- Physics(物理演算)の負荷を減らす
- Rigidbodyを使いすぎない
- FixedUpdate() の呼び出し回数を減らす(
Time.fixedDeltaTime
の調整)
⑤ モバイル向けの入力設定
スマホゲームは、キーボードやマウスではなく、タッチ操作がメインになります。快適な操作性を実現するために、スマホ向けの入力設定を行いましょう。
対策方法
- タッチ入力を実装する
void Update() {
if (Input.touchCount > 0) {
Touch touch = Input.GetTouch(0);
if (touch.phase == TouchPhase.Began) {
Debug.Log("画面がタップされました!");
}
}
}
- スワイプ操作を追加する
Vector2 startTouch;
void Update() {
if (Input.touchCount > 0) {
Touch touch = Input.GetTouch(0);
if (touch.phase == TouchPhase.Began) {
startTouch = touch.position;
}
if (touch.phase == TouchPhase.Ended) {
Vector2 endTouch = touch.position;
float swipeDistance = endTouch.x - startTouch.x;
if (Mathf.Abs(swipeDistance) > 50) {
Debug.Log(swipeDistance > 0 ? "右にスワイプ!" : "左にスワイプ!");
}
}
}
}
まとめ
スマホゲームを快適に動かすためには、以下のポイントを意識しよう!
✅ 不要なオブジェクトを削除してメモリ負荷を軽減
✅ テクスチャを圧縮して軽量化
✅ カリングを活用して描画負荷を削減
✅ フレームレートを固定して安定した動作を確保
✅ スマホ向けのタッチ操作を実装して快適なプレイ感を実現

最適化をしっかり行うことで、スムーズなゲーム体験を提供できます。ぜひ試してみてください!
7. ゲームをスマホにビルドする
Unityで作ったゲームを実際にスマホで動かすには、「ビルド」という作業が必要です。ビルドをすると、作成したゲームがAndroidやiOSで動作するアプリとして出力されます。ここでは、AndroidとiOSの両方に対応したビルド方法を解説します。
7.1 Android向けビルド
① Android SDKのインストール
UnityでAndroid向けにビルドするには、「Android Build Support」モジュールを追加する必要があります。
- Unity Hubを開く
- 「インストール済み」から使用しているUnityのバージョンを選ぶ
- 「モジュールを追加」をクリック
- 「Android Build Support」にチェックを入れる
- さらに「Android SDK & NDK Tools」と「OpenJDK」もチェック
- 「インストール」をクリックして完了!
② Unityのビルド設定を変更
- 「File」→「Build Settings」を開く
- 「Platform」リストから「Android」を選択
- 「Switch Platform」をクリック(プラットフォームをAndroidに変更)
- 「Player Settings」を開き、以下の設定を変更
- Company Name(自分の会社名や個人名を入力)
- Product Name(アプリの名前)
- Package Name(例:com.example.mygame)
- Minimum API Level(推奨:Android 7.0以上)
- Target API Level(推奨:最新のAndroidバージョン)
- 設定が完了したら「Build」ボタンをクリックし、apkファイルを出力
③ スマホで動かす
作成したapkファイルをAndroid端末に転送してインストールすれば、スマホでゲームをプレイできます!
- USBケーブルでPCとスマホを接続
- スマホの「開発者向けオプション」で「USBデバッグ」をONにする
- apkファイルをスマホにコピーしてインストール
- アプリを起動して動作確認!
7.2 iOS向けビルド
iOS向けのビルドにはMacとXcodeが必要です。WindowsではiOSアプリをビルドできないので注意しましょう。
① XcodeとApple Developer登録
- MacにXcodeをインストール(Mac App Storeから無料で入手可能)
- Apple Developer Programに登録($99/年が必要)
- iPhoneをMacに接続し、開発者モードを有効化
② Unityのビルド設定を変更
- 「File」→「Build Settings」を開く
- 「Platform」リストから「iOS」を選択
- 「Switch Platform」をクリック(プラットフォームをiOSに変更)
- 「Player Settings」で以下を設定
- Company Name(自分の会社名や個人名)
- Product Name(アプリ名)
- Bundle Identifier(例:com.example.mygame)
- iOS Deployment Target(推奨:iOS 12.0以上)
- 「Build」ボタンをクリックして、Xcodeプロジェクトを出力
③ Xcodeでビルド&実機テスト
- 出力されたフォルダを開き、
Unity-iPhone.xcodeproj
をXcodeで開く - Apple Developerアカウントを追加(Xcodeの「Signing & Capabilities」で設定)
- iPhoneをMacに接続し、「Run」ボタンを押して実機でテスト
- アプリが正常に動作するか確認!
7.3 アプリストアで公開するには?
作ったゲームをGoogle PlayやApp Storeで公開するには、開発者アカウントが必要です。
Androidの場合(Google Play)
- Google Play Console(https://play.google.com/console)に登録($25の登録費用)
- アプリの新規作成
- apkをアップロードし、ストア情報を記入
- 審査が完了すると公開!
iOSの場合(App Store)
- Apple Developer Program(https://developer.apple.com/programs/)に登録($99/年)
- XcodeでApp Store用のビルドを作成
- App Store Connectにアップロード
- Appleの審査後、公開!
7.4 まとめ
- AndroidのビルドにはSDKとNDKが必要!
- iOSのビルドにはMacとXcodeが必要!
- ビルド後はスマホで動作確認しよう!
- 公開するならGoogle PlayやApp Storeに登録!
スマホゲームを作って世界に配信しよう!✨
最後に…
Unityを使えば、初心者でもスマホゲームを作ることができます!
最初は分からないことも多いですが、とにかく手を動かして作ることが大事 です。実際にゲームを作ってみると、「もっとこうしたい!」というアイデアが出てくるはず。そうなれば、もうあなたはゲーム開発の楽しさにハマっています!
小さなゲームでも完成させることが大切なので、まずはシンプルなゲームを作ってリリースすることを目標にしてみましょう!
少しずつスキルを伸ばして、オリジナルのゲームを作れるようになったら最高ですね。
さあ、Unityでスマホゲーム開発を始めてみましょう!🎮✨
よくある質問(FAQ)
- QUnityでスマホゲームを作るのにプログラミング知識は必要?
- A
基本的なC#の知識が必要ですが、簡単なスクリプトから始めれば大丈夫です。
- QAndroidとiOS、どちらのゲームを作りやすい?
- A
Androidのほうがセットアップが簡単ですが、iOS向けに作る場合もXcodeの設定をすれば問題なく開発できます。
- Q無料でスマホゲームを作れますか?
- A
はい、Unityの無料版(Personal)でもスマホゲームの開発とリリースが可能です。