コガネブログ

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

【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>…

【Unity】Unity 2020.2b 新機能 - デフォルトで配列やリストを Inspector で並べ替えられるようになった

概要 Unity 2020.2a では「Reorderable」属性を変数に適用すれば 配列やリストを Inspector で並べ替えられるようになりましたが、 Unity 2020.2b では「Reorderable」属性を適用しなくても デフォルト動作で並び替えができるようになりました using System.…

【Unity】Unity 2020.2a から C# 8.0 の機能がいくつか使用できるようになった

はじめに Unity 2020.2a から C# 8.0 の機能がいくつか使用できるようになりました マイクロソフトの公式ページで C# 8.0 の新機能が紹介されておりますが、 この新機能の中から、現時点で使用できることが確認できた機能と 使用できなかった機能をいくつか…

【Unity】Unity 2020.1 新機能 - 「Prefab Mode in Context」

概要 例えばシーンにこのようなオブジェクトが存在しており、 中央のテキストオブジェクトがプレハブの場合に プレハブのインスタンスの編集画面をそのまま開くと 現在のシーンが Scene ビューに表示された状態でプレハブを編集できるようになり、 Alt キー…

【Unity】Unity 2020.1 新機能 - Scene ビューのカメラ設定ウィンドウに独自の GUI を追加できるようになった

概要 using UnityEditor; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { SceneViewCameraWindow.additionalSettingsGui += OnGUI; } private static void OnGUI( SceneView sceneView ) { GUILayout.Label( "ピ…

【Unity】New Scene ダイアログを無効化する方法

概要 新しいシーンを作成する時に表示される New Scene ダイアログを無効化したい場合は Unity メニューの「Edit > Project Settings...」を選択して 表示された「Project Settings」ウィンドウで「Scene Template」を選択して 「New Scene Menu」を「Builtin…

【Unity】Unity 2020.1 新機能 - スクリプトから Preset を適用する時にパラメータの除外を指定できるようになった

ソースコード using UnityEditor.Presets; using UnityEngine; public static class PresetUtils { public static bool ApplyToWithExclusion ( Preset preset, Object target, params string[] excludedProperties ) { var current = preset.excludedProper…

【Unity】エディタ右下に非同期タスクの進捗を表示できる「Progress」を使いやすくするクラス

ソースコード 使用例 using Kogane; using System.Collections; using Unity.EditorCoroutines.Editor; using UnityEditor; using UnityEngine; public sealed class Example : EditorWindow { [MenuItem( "Tools/Open" )] private static void Open() { Get…