コガネブログ

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

【Unity】Unity 新機能 - スクリプトから SetPass Calls や Draw Calls を参照できるようになった

概要 using System.Text; using Unity.Profiling; using UnityEngine; public class Example : MonoBehaviour { private string m_statsText; private ProfilerRecorder m_setPassCallsRecorder; private ProfilerRecorder m_drawCallsRecorder; private Pro…

【Unity】Unity 2020.2 新機能 - IL2CPP ビルドがマルチコアを使用するようになり高速化

参考サイト様 Starting in 2020.2.0b2 the process of converting .NET assemblies into C++ files is multi-threaded. For 6-8 core machines the conversion process will see roughly a 60-65% decrease in conversion time. On a 64 core machine conver…

【Unity】Unity 2020.2 新機能 - Hierarchy で選択しているゲームオブジェクトの数が Inspector に表示されるようになった

概要

【Unity】Unity 2020.2 新機能 - Hierarchy でゲームオブジェクトを作成した時に名前変更モードに入るようになった

概要 Hierarchy でゲームオブジェクトを作成した時に名前変更モードに入るようになった Hierarchy のタブを右クリックして「Rename New Objects」をオフにすると 名前変更モードに入らないようになります

【Unity】Unity 2020.2 新機能 - Package Manager に登録されているパッケージに変更があった時に呼び出されるイベントが追加された

概要 using UnityEditor; using UnityEditor.PackageManager; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { void Handle( PackageRegistrationEventArgs args ) { foreach ( var info in args.added ) { Debug.…

【Unity】Unity 2020.2 新機能 - Selection.count が追加された

概要 using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { Debug.Log( Selection.count ); } }

【Unity】Unity 2020.2 新機能 - Unity エディタの位置とサイズをスクリプトから設定できるようになった

概要 using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var position = new Rect( 0, 0, 960, 1280 ); EditorGUIUtility.SetMainWindowPosition( position ); } }

【Unity】Unity 2020.2 新機能 - アセットの GUID を string ではなく GUID 型で取得できるようになった

概要 using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var path = "Assets/Prefab.prefab"; // 従来:string 型で GUID を取得 var guidString = AssetDatabase.AssetPathTo…

【Unity】Unity 2020.1 新機能 - キャッシュサーバへの接続状況が変化した時に呼び出されるイベントが追加された

概要 using UnityEditor; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { AssetDatabase.cacheServerConnectionChanged += _ => Debug.Log( "ピカチュウ" ); } } 参考サイト様

【Unity】Unity 2020.2 新機能 - スクリプトからキャッシュサーバへの接続を切断できるようになった

概要 using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { AssetDatabase.CloseCacheServerConnection(); } }

【Unity】Unity 2020.2 新機能 - Project ウィンドウの「Create」からプレハブを作成できるようになった

概要 Project ウィンドウの「Create」からプレハブを作成できるようになった

【Unity】Unity 2020.2 新機能 - Vector3Int.forward と Vector3Int.back が追加された

概要 using UnityEngine; public class Example : MonoBehaviour { private void Update() { Debug.Log( Vector3Int.forward ); // (0, 0, 1) Debug.Log( Vector3Int.back ); // (0, 0, -1) } }

【Unity】Unity 2020.2 新機能 - Time クラスに double 型のプロパティが追加された

概要 using UnityEngine; public class Example : MonoBehaviour { private void Update() { Debug.Log( Time.timeAsDouble ); Debug.Log( Time.timeSinceLevelLoadAsDouble ); Debug.Log( Time.fixedTimeAsDouble ); Debug.Log( Time.unscaledTimeAsDouble …

【Unity】Unity 2020.2 新機能 - EditorWindow を閉じる時に変更を保存するか確認できるようになった

概要 using UnityEditor; using UnityEngine; public class Example : EditorWindow { [MenuItem( "Tools/Hoge" )] private static void Open() { var window = GetWindow<Example>(); window.saveChangesMessage = "変更があります。保存しますか?"; } private void</example>…

【Unity】Unity 2020.2 新機能 - プレハブモードの「Auto Save」のチェックボックスを非表示にできるようになった

概要 プレハブモードの時は Scene ビューに「Auto Save」のチェックボックスが表示されますが Project Settings の「Editor > Prefab Mode > Allow Auto Save」をオフにすることで 「Auto Save」のチェックボックスを非表示にして Auto Save を無効化できる…

【Unity】Unity 2020.2 新機能 - UnityWebRequest の isNetworkError、isHttpError が非推奨になった

概要 代わりに UnityWebRequest.result を使用します using System; using System.Collections; using UnityEngine; using UnityEngine.Networking; public class Example : MonoBehaviour { private IEnumerator Start() { var request = UnityWebRequest.G…

【Unity】Unity 2020.1 新機能 - CS0169 と CS0649 の警告を無効化できるようになった

概要 Unity メニューの「Edit > Project Settings...」から Project Settings ウィンドウを開いて 左メニューから「Player」を選択して「Suppress Common Warnings」をオンにすることで CS0169 と CS0649 の警告を無効化できます using UnityEngine; public …

【Unity】Unity 2020.1 新機能 - 単一行シリアライズ

概要 これまでは Unity がアセットの YAML を保存する時は 一行80文字を超えた場合に改行されていたが Unity 2020.1 からは80文字制限が無くなってシリアライズの処理が高速になったらしい これまで m_MySerializedReference: {fileID: 10304, guid: a2eb3ee…

【Unity】2020.2b 新機能 - エディタの UI の色や形をスタイルシートで変えられる

はじめに Unity プロジェクトの Assets フォルダに「Editor/StyleSheets/Extensions」フォルダを作って その中に「common.uss」を追加してコードを記述することで エディタの UI の色や形を変えられます :root { --unity-metrics-default-border_radius: 12p…

【Unity】Unity 2020.2b 新機能 - Profiler の情報をランタイムで取得できる「ProfilerRecorder」

使用例 using System.Text; using Unity.Profiling; using UnityEngine; public class Example : MonoBehaviour { private string m_text; private ProfilerRecorder m_totalUsedMemoryRecorder; private ProfilerRecorder m_totalReservedMemoryRecorder; p…

【Unity】Unity 2020.1 新機能 - エディタのレイアウトを好きなフォルダに保存・読み込みできる

概要 Unity エディタ右上のプルダウンメニューから「More」を選択して Save to disk...:現在のエディタのレイアウトを .wlt ファイルで保存 Load from disk...:.wlt ファイルからエディタのレイアウトを読み込み できるようになりました

【Unity】Unity 2020.1 新機能 - ゲームオブジェクトを原点(0, 0, 0)に生成できるようになった

概要 Unity の「Preferences > General」の「Create Objects at Origin」をオンにすると Hierarchy の「Create Empty」でゲームオブジェクトを作成した時に 原点(0, 0, 0)に生成されるようになります

【Unity】Unity 2020.1 へのアップグレードガイド

概要 上記ページで Unity 2020.1 へのアップグレードガイドを確認できる

【Unity】Unity 2020.1 に合わせて更新された Unity マニュアル

概要 上記ページで Unity 2020.1 に合わせて更新された Unity マニュアルを確認できる 参考サイト様

【Unity】エディタ上でのスクリプト関連の操作でなぜ処理に時間がかかっているのか確認できる「Editor Iteration Profiler」紹介

はじめに 現在、「Editor Iteration Profiler」と呼ばれるエディタ用のプロファイラが開発されています 「Editor Iteration Profiler」を Unity プロジェクトに導入することで スクリプトをコンパイルした時になぜ時間がかかっているのか Unity を再生する時…

【Unity】Unity 2020.2 新機能 - アセットの名前変更と移動操作で元に戻すとやり直しがサポート

概要 Unity 2020.2 からアセットの名前変更と移動操作で 元に戻すとやり直し(Undo・Redo)ができるようになりました

【Unity】Unity 2020.2 新機能 - 最近開いたシーンを Unity メニューから開けるようになった

概要 Unity メニューの「File > Open Recent Scene」から 最近開いたシーンを開けるようになりました

【Unity】Unity 2020.2b 新機能 - デフォルトの親オブジェクトを指定できるようになった

概要 Hierarchy でゲームオブジェクトを選択した状態で 「右クリック > Set as Default Parent」を選択すると そのゲームオブジェクトが太字で表示されるようになり その状態でゲームオブジェクトを作成すると 指定したゲームオブジェクトが自動で親に設定さ…

【Unity】Unity 2020.2b 新機能 - Hierarchy で空の親オブジェクトを作成できるようになった

概要 Hierarchy でゲームオブジェクトを選択した状態で 「右クリック > Create Empty Parent」を選択すると 選択したゲームオブジェクトを子に持つ親オブジェクトを作成できます

【Unity】Unity 2020.2b 新機能 - プレハブがインポートされた時に呼び出される「AssetPostprocessor.OnPostprocessPrefab」

概要 using UnityEditor; using UnityEngine; public class Example : AssetPostprocessor { private void OnPostprocessPrefab( GameObject root ) { root.AddComponent<BoxCollider>(); } } プレハブがインポートされた時に呼び出される関数 「AssetPostprocessor.OnPos</boxcollider>…