コガネブログ

平日更新を目標にUnityやC#、Visual Studioなどのゲーム開発アレコレを書いていきます

【Unity】Console ウィンドウに表示される「warning CS0649: Field is never assigned to」の警告を無効化する方法

概要 using UnityEngine; public class Example : MonoBehaviour { [SerializeField] private GameObject m_gameObject; private void Awake() { Debug.Log( m_gameObject ); } } このようなコードを記述した場合 Assets\Example.cs(5,38): warning CS0649: …

【Unity】Visual Studio で表示される「warning CS0649: Field is never assigned to」の警告を一括で無効化してしまうエディタ拡張

概要 using UnityEngine; public class Example : MonoBehaviour { [SerializeField] private int m_value; private void Start() { Debug.Log( m_value ); } } このようなコードを記述した場合 CS0649 フィールド 'Example.m_value' は割り当てられません。…

【Unity】iOS / Android でバッテリーの状態を確認できる「SystemInfo.batteryLevel」「SystemInfo.batteryStatus」

概要 // バッテリーの残量 ( 0.0 - 1.0 ) var level = SystemInfo.batteryLevel; // バッテリーの状態 // // Charging : 充電中 // Discharging : 放電中 // NotCharging : 充電していない // Full : 満タン var status = SystemInfo.batteryStatus; Windows…

【Unity】デフォルトの AndroidManifest.xml が保存されている場所

概要 【Unity のインストール先】\Editor\Data\PlaybackEngines\AndroidPlayer\Apk 上記のフォルダにデフォルトの AndroidManifest.xml が保存されています

【Unity】マテリアルで設定する時のシェーダの場所名を取得する方法

概要 シェーダファイルのこの部分をスクリプトから参照したい場合 public Shader m_shader; ... var name = m_shader.name; name プロパティにアクセスすれば取得できる

【Unity】Unity 2018.3 から自動実装プロパティに SerializeField 属性を付与して Inspector に表示できるようになった

概要 公式で意図されたものかどうかはわからないですが using UnityEngine; public class Example : MonoBehaviour { [field: SerializeField] public int Health { get; private set; } } このように自動実装プロパティに SerializeField 属性を付与すると …

【Unity】シェーダファイルの Inspector に表示されるエラー文言は右クリックしてコピーできる

概要 シェーダファイルの Inspector に表示されるエラー文言は 右クリックして「Copy error text」を選択することでコピーできる

【Unity】Console ウィンドウのログを選択した状態で Ctrl + C を押すとコピーできる

概要 Console ウィンドウのログを選択した状態で Ctrl + C を押すと スタックトレースも含めてログをコピーできます 参考ツイート Wow, didn't know that you can Ctrl+C on a console entry and copy the whole text from the output, so you can paste it …

【Unity】Windows PC で Mac 向けのスタンドアロンビルドができるようにする方法

概要 Windows PC で Mac 向けのスタンドアロンビルドを行おうと Build Settings の「Target Platform」を表示した際に、 「Windows」の項目しか存在しない場合は、 Unity Hub の「Installs」タブから任意のバージョンの Unity のメニューを開いて 「Add Comp…

【Unity】AnimationCurve の初期化ができる「AnimationCurve.Constant」「AnimationCurve.Linear」「AnimationCurve.EaseInOut」

概要 using UnityEngine; public class Example : MonoBehaviour { public AnimationCurve m_curve1 = AnimationCurve.Constant( 0, 1, 0.5f ); public AnimationCurve m_curve2 = AnimationCurve.Linear( 0, 0, 1, 1 ); public AnimationCurve m_curve3 = A…

【Unity】Unity 製の PC ゲームにおける逆コンパイル・改造の方法と難読化による対策を紹介

はじめに この記事は「Unity #2 Advent Calendar 2018」の 12/6 の記事です Unity で作成したゲームは特に何も対策しなかった場合、 割と簡単にソースコードを閲覧したり改造したりすることができます この記事では Unity 製のゲームはどのように逆コンパイ…

【Unity】Visual Studio で Unity イベントの関数名の表示色を変更する方法

概要 Visual Studio メニューの「ツール>オプション」から 「環境>フォントおよび色」を選択し 「Unity メッセージ」の「前景色」を変更して「OK」を押すことで Unity イベントの関数名の表示色を変更できます 参考ツイート Did you know you can customize …

【Unity】Visual Studio だとデバッガーで LINQ の結果を確認できない?が VSCode だと確認できる

概要 Console アプリケーションの場合 結果ビューを展開すると LINQ の結果を確認できる Unity + Visual Studio の場合 結果ビューの展開ができず LINQ の結果を確認できない Unity + VSCode の場合 IEnumerator を展開すると LINQ の結果を確認できる Unity…

【Unity】Windows でスタンドアロンビルドしたゲームにおける PlayerPrefs の保存場所

保存場所 レジストリの下記の場所に保存されている HKEY_CURRENT_USER\Software\【Company Name】\【Product Name】 確認方法 Windows のスタートメニューに「regedit」と入力する 「regedit.exe」を起動する HKEY_CURRENT_USER\Software\【Company Name】\…

【Unity】公式のドキュメントにコメントを記載できるようになる非公式の Google Chrome 拡張機能「User Contributed Notes for Unity Docs」紹介

はじめに 「User Contributed Notes for Unity Docs」を Google Chrome に追加することで 公式のドキュメントにコメントを記載できるようになります 使用例 適用前 適用後 ページ下部にコメント欄が追加されていることが確認できます 参考サイト様 https://f…

【Unity】アルファ版、ベータ版のリリース情報を RSS で受け取る

概要 https://unity3d.com/jp/unity/beta/latest.xml 上記の XML を RSS リーダに登録することで アルファ版、ベータ版のリリース情報を RSS で受け取ることができます

【Unity】プロジェクトの Unity バージョンを上げる時の注意点がまとめられた公式ドキュメント

概要 https://docs.unity3d.com/Manual/UpgradeGuides.html 上記のページで、プロジェクトの Unity バージョンを上げる時の 注意点がまとめられています

【Unity】Scene ビュー右上の鍵アイコンを ON にすると Scene ビューの回転操作を無効化できる

概要 Scene ビュー右上の鍵アイコンを ON にすると Scene ビューの回転操作を無効化できます

【Unity】Windows で Standalone ビルドしたゲームに含まれているシーンを確認する方法

概要 ビルドした .exe と同じ場所にある「XXXX_Data」フォルダ内の 「globalgamemanagers」をテキストエディタで開き、 シーンファイル名を検索すると、ビルドに含まれているシーンを確認できます

【おすすめスライド】「良くわかるMeta」

スライド 参考サイト様 https://developer.aiming-inc.com/study/unity-meta-study/

【Unity】yield return 0 を使用すると 20B の GC Alloc が発生する

概要 using System.Collections; using UnityEngine; public class Example : MonoBehaviour { private IEnumerator Start() { while ( true ) { yield return 0; } } } yield return null なら GC Alloc は発生しない 検証環境 Unity 2017.4.7f1

【Unity】UnityEngine.Object.name にアクセスすると 46B の GC Alloc が発生する

概要 using UnityEngine; public class Example : MonoBehaviour { private void Update() { var name = gameObject.name; } } 検証環境 Unity 2017.4.7f1

【Unity】GameObject.tag にアクセスすると 42B の GC Alloc が発生する

概要 using UnityEngine; public class Example : MonoBehaviour { private void Update() { var tag = gameObject.tag; } } 検証環境 Unity 2017.4.7f1

【Unity】Particle System のプレビュー再生で使用できるショートカットキー

概要 キー 内容 , (コンマ) 再生 . (ピリオド) 停止 M 1フレーム進める N 1フレーム戻る Shift + M 1フレーム進める(高速) Shift + N 1フレーム戻る(高速)

【Unity】エディタのツールバーの部分にボタンを追加してみる

はじめに エディタのツールバーの部分にボタンを追加してみました ソースコード 上記のスクリプトを Unity プロジェクトの「Editor」フォルダに追加すると、 エディタのツールバーの部分にボタンが追加されます OnGUI 関数の中を編集することで、自由にボタ…

【Unity】4x3 サイズの画像でグラデーションを表示する

概要 4x3 サイズの画像を Unity プロジェクトに追加します シーンにスプライトを作成して、4x3 サイズの画像を設定します あとは、スプライトのサイズを大きくすることで、 4x3 サイズの画像でグラデーションを表示できます 参考サイト様

【Unity】MenuItem で絵文字を表示する

概要 [MenuItem( "Tools/⚙ Settings..." )] private static void Hoge() { } MenuItem に指定する文字列に絵文字を設定するだけで使用できる 使用できない絵文字や、Mac だと表示されるけど Windows 7 だと表示されない絵文字があるので注意

【Unity】アプリのビルドにかかった時間を調べる方法

概要 Unity の Console ウィンドウを右クリックして「Open Editor Log」を選択する もしくは C:\Users\【ユーザー名】\AppData\Local\Unity\Editor\Editor.log を開く 下記のようなテキストを検索する *** Completed 'Build.Player.AndroidPlayer' in 55 sec…

【Unity】ブラウザで Asset Store を開く時に必ず旧版を開く方法

概要 https://assetstore.unity.com/ 通常、ブラウザで Asset Store を開く場合は上記の URL を使いますが、 この URL では新しい Asset Store が開いてしまいます https://www.assetstore.unity3d.com/jp/?stay こちらの URL を使用すると Asset Store が旧…

【Unity】Scene ビューの背景色を変更する方法

概要 Unity メニューの「Edit>Preferences...」を選択します 「Colors」を選択して表示される「Scene」の「Background」で色を変更できます