Unityを使っていて、うまくいかない、できないといったことは多々あると思います。
そんなとき何処が間違っているのか確認すべき点をまとめてみました。↑の動画でも解説していますので、是非ご活用ください
ダウンロードやインストール時のエラーについては↓の記事でまとめていますのでそちらを参考にしてください。
<まずエラーが起きていないか確認>
うまくいかなかったら、まず一番にエラーが起きていないか確認してください。
コンソールウィンドウをみて、↑のような赤いビックリマークが出てないかを確認してください。
もし、エラーが発生していた場合の解決方法は↓の記事で解説していますので、こちらをご覧ください。
<挙動がおかしい、変な動きをする>
何か変な動きをしたり、挙動がおかしい場合は、そのオブジェクトを動かしているスクリプトをみて、動かしている値を確認しましょう。
確認の仕方は↑のエラーが発生していた場合の解決方法の記事に記載してあるので、そちらを参考にしてください。
Debug.Logなどで、途中で変な値になっていないか、間違っていないか確認しましょう。
↓のようにログを怪しいところに仕込んでみて
↓「4」を通っていないので3と4の間で想定外の事が起こっている事がわかります。
↑の場合はエラーでわかりやすいですが、例えば途中で値がおかしくなっていないかとか、フラグがきちんと切り替わっていないかとかそういったところをログで見てみましょう。
また、果たして本当にそこの処理を通っているのかもDebug.Logで確認しましょう。
ログでなくてもブレークポイントでも確認できます。ブレークポイントの使い方は↑のエラーが発生していた場合の解決方法の記事に記載してあるので、そちらを参考にしてください。
<ゲームオブジェクトが非アクティブになっていないか>
初期状態でゲームオブジェクトが非アクティブになっているとAwakeもStartも通らないので、ここに初期化を設定している場合初期化が走らないのでうまく動作しない場合があります。
シーンで非アクティブにしていないか確認してみましょう。
<インスペクターの設定が間違っていないか確認>
インスペクターに設定されているものがMissingになっていないか確認してください。
Missingだと元々設定していたものが消えてしまっています。指定し直してください。
また、Missingになっていなくても、間違ったものを当てはめてないか確認してください。
<同じスクリプトが付いてないか、消し忘れてないか>
一度ゲームオブジェクトにスクリプトを貼り付けた後、もう一回同じものを貼り付けていないか確認してください。
またいらないと思ったスクリプトの消し忘れなどがないかも確認してください。
同じスクリプトが二重で付いているとGetComponentした時に間違った方を取得したり、インスペクターでアタッチした時に間違った方がアタッチされてしまったりします。
ちゃんと必要なスクリプトのみが貼り付いている状態にしてください。
<スクリプトが貼り付けられない(Can’t add script)>
MonoBehaviourの継承を消してしまっていたり、ファイル名とクラス名が違う場合はスクリプトを貼りつけることができません。
つけようとするとCan’t add scriptというメッセージが表示されます。
ファイル名とクラス名が違わないか、MonoBehaviourの継承を消してしまっていないかを確認してください。
<スクリプトが消えてないか>
スクリプトファイルそのものを消してしまったり、クラス名を変えてしまったりするとゲームオブジェクトに貼り付いていたスクリプトが消えます。
貼り直してください。
<Unityが動かない・フリーズした>
whileループなどで無限ループにおちいっていないか確認してください。
無限ループに入ってしまうとUnityがフリーズします。この場合はUnityを強制終了するしかないので、強制終了してスクリプトを直してください。
また、Visual StudioをUnityにアタッチしていないかも確認してください。ブレークポイントを検知している時はUnityは動かせません。
他にはUnity側に何か重い処理をさせてないかも確認してください。重い処理を命じていた場合、処理が終わるまでフリーズする事があります。この場合は待っていれば解消します。
<Unityがクラッシュした>
Unityの自体のバグを踏んだか、メモリが足りない場合Unityがクラッシュします。
Unity自体のバグの場合は公式を確認して、何か重大なバグが起きてないか探してください。
メモリについては例え思い当たる節がなくても、大量に蓄積している事があるので、お使いのパソコンでUnityのメモリ使用率を調べてみてください。
インスタンスを無限に生成していたり、作成したインスタンスを破棄せずに持ち続けたりしていないか確認してください。
また、重すぎるグラフィックやオーディオを読み込んでないかも確認してください。
<ピンク色になる>
ゲームオブジェクトがピンク色になってしまう事があります。
この場合はシェーダープログラムがバグっているか、レンダーパイプラインが違います。
Unity Asset Storeからダウンロードしてきたものがピンク色になっているのなら↓の記事を参考にしてください。
そうでない場合は、プログラムを書き直してください。もしくはマテリアルに正常なシェーダーを挿し直してください。
マテリアルとシェーダーがよくわからない方は↓の記事を参考にしてください。
<Assetフォルダに取り込めない・インポートできない>
プロジェクトウィンドウにドラッグ&ドロップできないといった自体に遭遇する場合があります。
取り込もうとしているファイルの拡張子がUnityが取り込めるものかどうか確認してください。
もし取り込めるファイルであるなら、現在Unityが別のファイルを取り込んでないか確認してください。別のファイルを取り込んでいる場合は待ってください。
何もないのに取り込めない、インポートできない場合はUnityを再起動すると直る場合があります。
<このサイトに書いてある事が間違っている可能性もある>
すいません。なにぶん個人で運営しているサイトですので間違う事もあります。
明らかにこちらが間違っている場合や、↑で書いてある事を調べてみて、こちらの間違いを発見した場合は申し訳ありませんが、お問い合わせフォームまでよろしくお願いします。