コガネブログ

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

【Unity】エディタの再生やコンパイルにかかった時間を Scene ビューや Game ビューに通知で表示できる「Mini Editor Iteration Profiler for Unity」紹介

はじめに 「Mini Editor Iteration Profiler for Unity」を Unity プロジェクトに導入することで Unity エディタの再生やコンパイルにかかった時間を Scene ビューや Game ビューに通知で表示できるようになります 使用例

【Unity】各アセンブリのコンパイルにかかった時間を確認できる「Unity Assemblies Debugger」紹介

はじめに 「Unity Assemblies Debugger」を Unity プロジェクトに導入することで 各アセンブリのコンパイルにかかった時間を確認できるようになります 使い方 Unity メニューの「Window > Assemblies Debugger」を選択すると 各アセンブリのコンパイルにかか…

【Unity】Scene ビューと同じように Game ビューでカメラを操作できる「Unity_SceneCameraController」紹介

はじめに 「Unity_SceneCameraController」を Unity プロジェクトに導入することで Scene ビューと同じように Game ビューでカメラを操作できるようになります クイックスタート シーンのカメラに「Scene Camera Controller」をアタッチして Unity を再生す…

【Unity】簡単にサブアセットを登録できる「Sub Asset Editor」紹介

はじめに 「Sub Asset Editor」を Unity プロジェクトに導入することで 簡単にサブアセットを登録できるようになります クイックスタート Unity メニューの「Assets > Sub Asset Editor」を選択します 「Sub Asset」ウィンドウが表示されたら サブアセットを…

【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】TMP_Text.SetText で10,000,000以上の数値を指定するとテキストの表示に誤差が発生する

概要 using TMPro; using UnityEngine; public class Example : MonoBehaviour { public TMP_Text m_tmpText; private void Awake() { m_tmpText.SetText( "{0}", 10_000_001 ); } } 検証環境 Unity 2020.2.2f1 TextMeshPro 3.0.1

【Unity】TMP_Text.SetText で上3桁が999で始まる9991以上の数値を指定するとテキストの先頭に0が追加されてしまう

概要 using TMPro; using UnityEngine; public class Example : MonoBehaviour { public TMP_Text m_tmpText; private void Awake() { m_tmpText.SetText( "{0}", 9999 ); } } 検証環境 Unity 2020.2.2f1 TextMeshPro 3.0.1

【Unity】TextMesh Pro で表示するテキスト全体にスタイルを適用する方法

概要 以前は TextMesh Pro で表示するテキスト全体にスタイルを適用したい場合は 上記のようにテキストの最初と最後を style タグで囲む必要がありましたが 今の TextMesh Pro であれば「Text Style」からテキスト全体にスタイルを適用できます 参考サイト様…

【Unity】「Converting managed assemblies to C++」ダイアログからビルドが進まなくなった

はじめに Converting managed assemblies to C++ iOS IL2CPP ビルド時に上記のダイアログが表示されたまま ビルドが1時間以上経っても進まなくなる現象に遭遇した Invoking il2cpp with arguments: --convert-to-cpp --emit-null-checks --enable-array-boun…

【Unity】-1 net::ERR_CACHE_MISS

概要 -1 net::ERR_CACHE_MISS -11 net::ERR_TUNNEL_CONNECTION_FAILED Unity + Android で WebView を使用してウェブページを表示しようとしたところ 上記のエラーが端末に出力されてウェブページを表示できない状態に遭遇した WebView で指定していた URL …

【Unity】CommandInvokationFailure: Unity Remote requirements check failed

概要 CommandInvokationFailure: Unity Remote requirements check failed Unity エディタで上記のエラーが発生することがあった Project Settings の「Editor > Unity Remote > Device」を「None」にしたら発生しなくなった 参考サイト様

【Unity】TextMesh Pro のダイナミックフォントでメインアトラスがいっぱいになったら追加のアトラステクスチャを自動で生成する方法

概要 例えば Font Atlas の設定をダイナミックフォントにしており、 アトラステクスチャのサイズが 256x256 の場合に 大量の文字を描画しようとすると 256x256 のアトラステクスチャに収まりきらなかった文字は描画されないですが Multi Atlas Textures をオ…

【Unity】TextMesh Pro でダイナミックフォントを使用する方法

概要 作成した Font Asset を選択して Inspector の 「Atlas Population Mode」を「Dynamic」に変更することで その Font Asset をダイナミックフォントとして扱えるようになります 例えば TextMesh Pro の Font Asset Creator で Custom Character List に…

【Unity】TextMesh Pro でルビ(ふりがな)を振ることができる「Ruby(Furigana) Text Mesh Pro」紹介

はじめに 「Ruby(Furigana) Text Mesh Pro」を Unity プロジェクトに導入することで TextMesh Pro でルビ(ふりがな)を振ることができるようになります 使用例 使い方 TextMesh Pro のコンポーネントの代わりに「Ruby Text Mesh Pro」または 「Ruby Text Me…

【Unity】TextMesh Pro でルビ(ふりがな)を振ることができる「TextMeshProRuby」紹介

はじめに 「TextMeshProRuby」を Unity プロジェクトに導入することで TextMesh Pro でルビ(ふりがな)を振ることができるようになります 使用例 使い方 TextMesh Pro のゲームオブジェクトに「Text Mesh Pro Ruby」をアタッチして 「Text」の欄で <r=【ルビ】>【ルビを</r=【ルビ】>…

【Unity】技術書典で頒布された「mixi tech note」「XFLAG Tech Note」の無料電子版の公開ページ

リンク mixi tech note #01 https://speakerdeck.com/mixi_engineers/mixi-tech-note-number-01 mixi tech note #02 https://speakerdeck.com/mixi_engineers/mixi-tech-note-number-02 mixi tech note #03 https://speakerdeck.com/mixi_engineers/mixi-tec…

【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 メニューの「Edit > Preferences...」を選択して 左メニューの「General」を選択して「Auto Refresh」をオンにして スクリプトを編集すると反映されるようになる

【Unity】EntryPointNotFoundException

概要 EntryPointNotFoundException .so を使用している箇所で EntryPointNotFoundException が発生することがあった EntryPointNotFoundException は該当するメソッドが見つからない時に発生する例外 エラーが出ている .so は .unitypackage でインポートし…

【Unity】Library フォルダの削除に時間がかかる場合

概要 del /f /q /s Library > null rd /q /s Library コマンドプロンプトから上記のコマンドを実行すると早く消せるかも? 参考サイト様

【Xcode】xcodebuild: error: Unknown build action

概要 command not found xcodebuild: error: Unknown build action xcodebuild 時に上記のエラーが発生する状況に遭遇した xcodebuild を実行する .sh の改行コードは「CRLF」になっていることが原因だった .sh の改行コードを「LF」で保存したら正常に動作…

【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」からプレハブを作成できるようになった