MENU

Unityでスマホアプリを作る方法|初心者がReact Nativeから乗り換えてわかったこと

スマホアプリを開発しようと思い立ち、最初はReact Nativeに挑戦しましたが、Expoを使わない構成があまりにも難しく、絶望…。次に試したのが「Unity」でした。

Unityの存在自体は知っていましたが、YouTubeでざっと見た限り、インターフェースが複雑そうで「これは自分には無理かも」と感じていました。

それでも、スマホアプリ開発をする上でUnityは避けて通れないと感じ、思い切って挑戦してみました。Flutterも候補にありましたが、PCへの導入がやや複雑そうだったことと、以前インストールに失敗した経験があったため、今回はUnityを選びました。

あわせて読みたい
React Native CLIで音が鳴らない|初心者が3つのライブラリでメンタル崩壊した記録【2025年5月29日】 もう疲れました。react native単体で音を鳴らすのは、無理です。もうこれでもかというほど、色々と設定を繰り返したけどエラーの連続。 AI(chatgpt)に何度もエラーの...
目次

Unityの導入方法と感想|React Nativeよりも簡単だった?

まず、UnityはReact NativeやFlutterのように「フレームワーク」ではなく、専用のソフトウェアです。ですので、公式サイトからダウンロードし、PCにインストールして使います。

インストールや起動に関しては、ChatGPTに聞きながら進めました。特に難しい手順はなく、一般的なアプリケーションをインストールして起動するのと同じ感覚です。

この点は、React Nativeのように自分で環境構築を行う必要がある開発と比べて、圧倒的に楽だと感じました。PCの知識があまりなくても、Unityの導入まではスムーズに行えると思います。

Unityを初めて触った感想|やっぱり難しいけど、React Nativeよりは希望があるかも?

Unityを実際に触ってみた最初の印象は、「やっぱり難しい…!」
もともとUnityに対しては、「UIが複雑そう」「プロっぽすぎて初心者にはハードルが高い」という印象を持っていたのですが、それはある意味で正しかったと思います。

Unityはユーザー自身がインターフェースを構築していく開発環境。「何もないキャンバスに自分で設計図を描いていく」ようなスタイルでした。

最初は説明書のようなものも見当たらず、何をどうしたらいいのかまったく分からない状態でした。目的は「スマホ向けの簡単な脳トレアプリ」を作ることでしたが、最初の一歩から迷子に…。

そこで、ChatGPTに「Unity初心者で、0から手取り足取りステップバイステップで教えてください」とお願いし、その指示通りに作業を進めてみました。

UnityはAfter Effectsっぽい?ツールとしての印象

実際にUnityを触ってみて、ふと昔、無料体験版で触ったAfter Effectsを思い出しました。
ジャンルこそ違えど、操作感がちょっと似ている気がします。

After Effectsは動画編集ソフトで、Unityはゲームエンジンですが、どちらも「視覚的な構成」と「タイムライン的な動きの設計」がベースにある点が共通点です。

Unityも、Sceneビューでオブジェクトの見た目を直感的に操作できるため、「何が間違っているのか」がReact Nativeよりも視覚的に把握しやすいと感じました。

この点が、Unityの大きな強みだと思います。

React Nativeとの比較|エラーの詰まりやすさに差がある

React Nativeでは、エラーが出るたびにコードを読み直して、ググって、悩んで…というプロセスが非常に多く、心が折れそうになったことが何度もありました。

一方、Unityでは「事前に視覚的に確認できる」作業が多いため、致命的なミスが減る印象です。

ボタンの配置や動きも、Sceneビュー上で位置を調整しながら作業ができるため、まるで「RPGツクール」みたいな感覚に近いかもしれません。(もちろん、難易度は段違いですが…)

Unityの基本的な使い方と画面構成の理解|初心者がつまづきやすいポイントとは?

Unityの画面は、大きく分けていくつかのエリアで構成されています。
最初はこの構成を理解するのに少し時間がかかりましたが、一度わかってしまえば「今、自分が何をしているのか」が把握しやすくなりました。

以下に、それぞれのエリアの役割を初心者目線でまとめてみます。

Hierarchy(ヒエラルキー)|シーン内の構成を管理する場所

画面の左側にある「Hierarchy」は、シーン内に存在するオブジェクト(ボタンや画像、テキストなど)を一覧で表示・管理するエリアです。
ここに表示されているものが、実際に画面(Scene)上に登場します。

アプリやゲームで何を表示するか、どの順番で配置するかといった「構成」をここで作っていくイメージです。
ただ、この作業がかなり地味で、最初は「何を作るのか」「どんな構成にするのか」をあらかじめ決めておかないと迷走しやすいと感じました。

Sceneビュー|見た目を直接操作できるエリア

画面中央の「Sceneビュー」では、Unityの大きな魅力の一つである視覚的な編集ができます。
オブジェクトの位置や大きさをマウスで調整したり、見た目を確認しながら配置ができるので、初心者でも感覚的に操作できる部分です。

ここでレイアウトを整えたら、上部にある「Game」タブで実際にプレイして挙動を確認することができます。

Assets(アセット)|素材を管理する場所

画面下部にある「Assets」エリアには、画像・音声・動画・フォントなどの素材を保存しておきます。
これらは、HierarchyやSceneビューにドラッグ&ドロップして使用できます。

特に効果音やフォントなどを使いたい場合は、ここに取り込んでから配置していく流れになります。

Inspector(インスペクター)|オブジェクトの詳細設定

画面右側にある「Inspector」は、選択したオブジェクトの詳細な設定を行うエリアです。

位置やサイズ、色、不透明度などの細かい情報をここで制御します。
初心者にはこのエリアがやや難しく感じるかもしれません。
私も、「何を設定しているのかよく分からないままAIの指示通りに操作する」ような感じでした。

たとえば、Hierarchyで作ったオブジェクトをInspector上の項目にドラッグ&ドロップするような操作が頻繁に出てきて、最初はとまどいました。

Unityの日本語フォント設定は意外と落とし穴?|TextMeshProの罠と対策方法

Unityで日本語テキストを表示しようとしたとき、最初にぶつかった壁が「フォントが文字化けする問題」でした。
デフォルトのTextMeshProでは、日本語がそのまま使えないのです。

「え?テキスト入力するだけでしょ?」と思っていた私には、ちょっとした衝撃でした。

TextMeshProとは?

TextMeshPro(テキストメッシュプロ)は、Unityで文字を表示するための高機能なツールです。
見た目の美しさや表示パフォーマンスが高く評価されており、現在はUnityの標準になっています。

ただし、このTextMeshProが厄介なのは、使いたい日本語フォントを事前に設定しておかないと、文字が表示されなかったり、文字化けしたりするという点です。

日本語フォントの追加方法と注意点

私が行った手順は以下の通りです(ChatGPTに教えてもらいました):

  1. 日本語に対応したフォント(たとえば「Noto Sans JP」など)をネットからダウンロードしておく。
  2. Unityのメニューから
     Window > TextMeshPro > Font Asset Creator を選択。
  3. ダウンロードしたフォントファイル(.ttfや.otf)を選択して、フォントアセットを生成。
  4. この時、「Custom Characters(カスタムキャラクター)」という項目に使いたい文字をすべて入力する必要があります。

ここが最大の落とし穴です。

「使う文字を全部入力しないと文字化けする」問題

TextMeshProでは、必要な文字を事前に指定しておかないと、表示されないという仕様があります。
これは日本語のように文字数が多い言語では致命的。

たとえば、「ありがとう」「こんにちは」などを使いたい場合、そのすべての文字をカスタムキャラクターに打ち込んでおかないと、表示されない(=文字化けする)というわけです。

この設定を知らずに進めると、「なぜか文字が出ない」「フォントがバグってる?」というトラブルに直面します。

ちなみに、ノベルゲームなどで大量の日本語テキストを扱う場合は、必要な文字をすべて書き出して設定する必要があるとChatGPTに教わりました。
(他にも回避策はあるようですが、現時点では保留にしています。)

C#コードとAIの関係|初心者でもゲームロジックを作れるのか?

Unityでアプリやゲームを作る上で避けて通れないのがC#(シーシャープ)でのプログラミングです。
SceneビューやInspectorで見た目や動きを視覚的に構築することはできますが、最終的な「動作の中身(ロジック)」は、やはりコードで制御する必要があります。

私はプログラミングがまったくできません。
なので、C#を自分で書くのは無理だと最初から割り切り、ChatGPTに完全に任せることにしました。

ChatGPTにC#を任せてみた感想

今回作ろうとしたのは、簡単な「脳トレアプリ」でした。
ボタンを押して計算結果を答えたり、正誤判定をするような非常にシンプルな内容です。

ChatGPTに「C#がまったく書けない初心者でも動かせるようなコードを書いてください」と伝えたところ、かなり丁寧にコードを生成してくれました。

結果として、ほぼミスなく動作するものが完成
UIの表示、ボタンの挙動、正解・不正解の処理まで、一通り完成しました。

React NativeとUnityのコード精度の違いは?

実は気になっていたのが、AIが書くC#の精度と、React Native(JavaScriptやTypeScript)の精度の違いです。
ChatGPTに確認したところ、ややReact Nativeのほうが安定性やエラー対応に優れているとの回答でした。

ただ、UnityのコードはInspectorなどの設定と連動する部分が多く、コーディング以外にも知識が必要なので、構造が少し複雑に感じます。

Unityでは「コードを書いたあと、それをどこにアタッチするのか」「Inspectorに何をセットするのか」といった作業も重要になってきます。
React Nativeのように、エディタだけで完結する世界とは、ちょっと勝手が違う印象です。

複雑なゲームになるとAI任せでは厳しい?

簡単な脳トレ程度ならAIに任せて問題なかったですが、ゲームの構造が複雑になると、コード量も一気に増え、管理が難しくなると感じました。

たとえばスコア管理、制限時間、シーンの切り替え、広告表示、音声制御などが入ってくると、ちょっとしたミスで動かなくなる可能性が高くなります

とはいえ、AIをうまく活用しながら、一つずつ動作確認を行っていけば、完全なゼロ知識からでもアプリ開発は可能だと感じました。

Unityには希望がある|ASDでも可能性を感じた理由

私はASD(自閉スペクトラム症)で、特に想像力やデザイン感覚が極端に乏しいという自覚があります。
学生時代の美術はいつも苦手で、「自由に描いていいよ」と言われるのが何よりも苦痛でした。

アプリ開発のような、自由度が高くて自分で構成を考えなければいけない作業には、正直かなりの不安がありました。

でも、そんな私でもUnityには少しだけ「希望」を感じることができました。

テンプレートを使えば操作の難しさを回避できるかも?

Unityには、無料・有料のテンプレートやアセット(素材集)が多数公開されています
最初からゲームの構成やUI、ボタンの動作などが組み込まれた状態で提供されているものもあり、そういったテンプレートを活用することで、自分が苦手な作業を大幅に省略できる可能性があると感じました。

たとえば「計算ゲームのテンプレート」「クイズ形式のUI」「シンプルな2Dパズルの雛形」などがあれば、それをベースにしてAIにC#の動作部分だけお願いすれば、効率よく開発が進むのではないかと思います。

テンプレートの種類や品質についてはこれから要調査ですが、商用利用OKで無料のものもあると知り、かなり期待しています。

Unityはセンスが無くても「完成形をイメージしやすい」

React NativeやFlutterでは、コードの中でUIを組み立てていく必要があり、完成形が頭の中で想像できないと作業が進まないことも多かったです。

それに対してUnityは、Sceneビューで**「今この画面がどうなっているか」が視覚的に常に確認できる**ため、完成形を想像しにくい私にとっても作業がしやすい環境だと感じました。

これだけでも、精神的なハードルはかなり下がったと思います。

アプリ開発で稼げるのか?|AI時代の収益化戦略と私の目的

Unityを使ってアプリ開発に挑戦してきましたが、そもそも私はアプリ開発者になりたいわけではないのです。
目的はあくまで、「AIを使って稼ぐ方法を模索する」ことです。

IQが低く、ASDもあって、新しいことを学ぶのがとても苦手。
だから「AIに頼り切ってもなんとかなるやり方」を探しています。

そんな中で「スマホアプリ開発」は、AIの力を活用できる分野の一つではあると感じました。
ただし、現時点では“完全にAI任せで収益化する”のは、まだ難しいと感じています。

Expoを使ったReact Nativeが一番の有望株?

現状、一番可能性を感じているのはExpoを使ったReact Nativeによるアプリ開発です。
Expoを使えば、環境構築やビルドの手間がグッと減り、開発のハードルもかなり下がります。

ただ、Expoを本格的に使うには有料プラン(EAS Buildなど)への加入が必要で、初期費用が発生するのがネック。
まだ1円も稼げていない状態で、いきなりお金を払ってアプリを量産するのは、さすがにリスクが高いと感じています。

なので今は、Unityなど「無料で始められる環境」で試してみて、ある程度結果が出てからExpoに戻る、という戦略を考えています。

初心者がアプリで稼ぐのは甘い考え?

正直に言えば、初心者がAIを使ってスマホアプリを作り、簡単に稼げるというのはちょっと甘い考えかもと感じています。
実際にChatGPTにも相談しましたが、「収益化には工夫やマーケティング、継続的な改善が必要」との厳しい回答をもらいました。

ただ、それでも私は「ゼロ知識からAIを活用して何かを作り、それを収益につなげる」というチャレンジをあきらめたくありません。
だからこそ、今は色々な方法を試しながら、自分に合ったやり方を探しているところです。

まとめ|Unityは初心者にとって希望か絶望か?

私がUnityを1日かけて触ってみた率直な感想としては、「意外と希望はあるかもしれない」という結論です。

もちろん、完全初心者にとっては、学習コストも操作も決して簡単ではないです。
Sceneの編集、Inspectorの設定、C#によるスクリプト制御など、覚えることは山ほどあります。

でも、それらの作業をすべて自力で理解しなくても、AIの力を借りながら手を動かせば、少しずつ完成に近づけることがわかりました。
特に簡単なアプリであれば、ChatGPTの指示通りに進めるだけで、ある程度動くものが作れます。

そして、React Nativeのように環境構築やビルドで何時間もエラーと戦う必要がないというのは、精神的に大きなメリットです!

Unityの可能性と今後の課題

  • UIを直感的に操作できる
  • 視覚的にミスを見つけやすい
  • テンプレートやアセットを活用すれば時短も可能
  • AIとの相性も悪くない

上記の点から考えると、Unityは「技術よりも、継続と発想が求められるツール」なのかも。

でも、想像力やデザインセンスが求められる部分も多いため、私のようにASDでそうした能力が極端に弱い人にとっては、テンプレートの活用が今後のカギになると感じました。

Unityは、初心者にとって「絶望」ではなく、「希望」かもしれません。(人による)
特に、AIの頑張り次第で、**まったくの素人でも時間を書ければアプリ開発は可能です。

引き続き、テンプレートの活用や、他のAIツールとの連携も模索しながら、よりシンプルに、効率よく開発ができる道を探っていきたいと思います。

\いつも応援ありがとうございます/
バナーを1クリックで応援いただけるととっても励みになります😊

にほんブログ村 ネットブログ ChatGPT・生成AIへ
にほんブログ村

人気ブログランキング
人気ブログランキング

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次