コンテンツにスキップ

付録E:困ったときは

うまくいかないときの対処法をまとめています。 その週の作業でつまずいたときは、各週の最後にある「よくある問題と解決方法」も見てください。

  • Windowsの場合:管理者として実行してみる
  • アンチウイルスソフトの例外設定に追加
  • Unity Hubを再インストール
  • PCを再起動してから試す
  • Unity Hubから開いているか確認
  • Unityのバージョンが合っているか確認
  • プロジェクトフォルダのパスに日本語が含まれていないか
  • LibraryTempフォルダを削除して再度開く

バージョン管理がつながらない

Section titled “バージョン管理がつながらない”

「Unknown user」と出てワークスペースが作れない

Section titled “「Unknown user」と出てワークスペースが作れない”

Unityエディタの「Window」→「Version Control」からワークスペースを作ろうとすると、 組織を選ぶ欄がないため、このエラーになることがあります。

Unity Hubの「ソース管理に接続」から設定してください。 手順は付録D:バージョン管理にあります。

  1. Unityの Edit → Preferences
  2. External Tools でExternal Script Editorを確認
  3. BrowseでVisual Studioを手動選択:
    • Windows: C:\Program Files\Microsoft Visual Studio\18\Community\Common7\IDE\devenv.exe
    • Mac: VS CodeまたはRiderのパスを指定

自動補完(IntelliSense)が出ない

Section titled “自動補完(IntelliSense)が出ない”
  1. Unityで Assets → Reimport All
  2. Visual Studioでプロジェクトを再読み込み
  3. .csprojファイルを削除してUnityを再起動
  4. Visual Studio Editorパッケージを更新
    UnityのWindow → Package Manager → Unity Registry で 「Visual Studio Editor」を探し、2.0.26以降に更新する
    (Visual Studio 2026は新形式のプロジェクトファイルを使うため、 このパッケージが古いと連携できません)

ファイル名とクラス名が一致していない

Section titled “ファイル名とクラス名が一致していない”

エラー内容:Can’t add script component ‘ScriptName’ because the script class cannot be found

よくある原因

  • ファイル名:FirstScript.cs
  • クラス名:public class MyScript ← これが違う!
  • 正しくは:public class FirstScript にする必要がある

解決方法

  1. Visual Studioでスクリプトを開く
  2. クラス名をファイル名と同じにする(大文字小文字も完全一致)
  3. 保存(Ctrl+S)してUnityに戻る

Unityでファイル名だけをF2で変えても、中のクラス名は変わりません。 必ずクラス名のほうを直してください。

予防策

  • スクリプトを作った直後に名前を入力する(あとから変えるとずれる)
  • コピーペーストでコードを貼り付ける時は、クラス名も必ず修正する

「使おうとしたものが設定されていない」というエラーです。

  • Inspectorでオブジェクトを設定し忘れていないか確認
  • GetComponent<>()の結果がnullでないか確認
  • スクリプトでif (object != null)のチェックを追加
エラーメッセージ 原因と対処法
; expected セミコロンを忘れている → 文末に;を追加
} expected 波括弧が閉じていない → }を追加
The name 'xxx' does not exist 変数名のつづり間違い → スペルを確認
Cannot convert type 型が違う → 正しい型に直す

エラーは上から順に直します。1つ直すと、続くエラーがまとめて消えることがよくあります。

再生しても思ったとおりにならない

Section titled “再生しても思ったとおりにならない”
  • Consoleウィンドウでエラーを確認(赤いアイコン)
  • スクリプトがGameObjectにアタッチされているか確認
  • 再生ボタンが押されているか確認
  • Time.timeScaleが0になっていないか確認
  • オブジェクトのPositionがカメラの範囲内にあるか
  • Sprite RendererのSpriteが設定されているか
  • オブジェクトのScaleが0になっていないか
  • Order in Layerで、ほかのものの後ろに隠れていないか
  • シーンに2Dライトが入っているか(Lit 2D (URP)テンプレートで作る)