コガネブログ

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

【Unity】UnityEngine のいくつかの API の静的プロパティの情報を JSON 形式で取得できるクラス「UniJsonUnityEngine」を GitHub に公開しました

リポジトリ 使用例 using Kogane; using UnityEngine; public class Example : MonoBehaviour { private void Awake() { Debug.Log( JsonUnityEngineApplication.Get() ); Debug.Log( JsonUnityEngineDebug.Get() ); Debug.Log( JsonUnityEngineSceneManagem…

【Unity】Scene ビューでゲームオブジェクトを選択しても Hierarchy の階層が開かない場合

概要 Hierarchy ウィンドウがロックされてしまっている可能性がある ロックされている場合はアイコンをクリックしてロックを外す

【Unity】サウンドのマスターボリュームを変更する方法

概要 Project Settings の「Audio > Global Volume」から変更できる AudioListener.volume = 0.5f; スクリプトからは AudioListener.volume で変更できる

【Unity】作成した keystore の SHA1 を確認する方法

概要 keytool -list -keystore "【.keystore のファイルパス】" -v keytool.exe は例えば以下の場所に存在する C:\Program Files (x86)\Java\jre1.8.0_281\bin\keytool.exe

【Unity】Addressable Asset System の AddressableAssetGroup に登録されているエントリが重複していないか確認するテストコード

概要 using System.Collections.Generic; using System.Linq; using System.Reflection; using NUnit.Framework; using UnityEditor; using UnityEditor.AddressableAssets; using UnityEditor.AddressableAssets.Settings; public sealed class Addressable…

【Unity】Addressable Asset System の AddressableAssetSettings に登録されているグループが重複していないか確認するテストコード

概要 using System.Linq; using NUnit.Framework; using UnityEditor.AddressableAssets; using UnityEditor.AddressableAssets.Settings; public sealed class Addressables用テスト { private sealed class DuplicateGroupResult { private readonly strin…

【Unity】エディタ拡張でビルドに失敗した時にも呼び出されるコールバックを実装する方法

概要 using UnityEditor; using UnityEditor.Build; using UnityEditor.Build.Reporting; using UnityEngine; public class Test : IPreprocessBuildWithReport { public int callbackOrder => 0; public void OnPreprocessBuild( BuildReport report ) { vo…

【Unity】Windows における WebGL で PlayerPrefs で保存したデータの保存場所(IndexedDB)

概要 Google Chrome C:\Users\【ユーザ名】\AppData\Local\Google\Chrome\User Data\Default\IndexedDB\【URL】 Mozilla Firefox C:\Users\【ユーザ名】\AppData\Roaming\Mozilla\Firefox\Profiles\【プロファイル名】\storage\default\【URL】 Microsoft Ed…

【Unity】iOS の WebView で自己署名証明書を使用しているサーバの Web ページを表示したい場合

概要 Unity でビルドした iOS アプリで「unity-webview」を使用して 自己署名証明書を使用しているサーバの Web ページを表示したい場合、 上記のサイト様で記載されている以下のコードを 「WebView.mm」に記述することで Web ページを表示できるようになる …

【Unity】Looks like you are rendering without using requestAnimationFrame for the main loop.

概要 Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates! W…

【Unity】CommandInvokationFailure: Unity Remote requirements check failed

概要 CommandInvokationFailure: Unity Remote requirements check failed C:/Program Files/Unity/Hub/Editor/2019.4.17f1/Editor/Data/PlaybackEngines/AndroidPlayer\SDK\platform-tools\adb.exe forward tcp:7201 tcp:7201 stderr[ error: no devices/em…

【Unity】ゲーム中にコンソールのようにコマンドを実行できる「UnityConsole」紹介

はじめに 「UnityConsole」を Unity プロジェクトに導入することで ゲーム中にコンソールのようにコマンドを実行できるようになります クイックスタート using UnityEngine; public class Example : MonoBehaviour { private void Awake() { // コンソールの…

【Unity】Addressable Asset System でビルドできるファイルかどうかを確認する方法

概要 using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var path = AssetDatabase.GetAssetPath( Selection.activeObject ); var mainAssetType = AssetDatabase.GetMainAsse…

【Unity】C# スクリプトを開こうとすると Visual Studio の新しいインスタンスが起動してしまう場合

概要 Visual Studio で「ファイル変更の検出」ダイアログが表示されている時に Unity から C# スクリプトを開こうとすると Visual Studio の新しいインスタンスが起動してしまう現象に遭遇した Unity の Package Manager から Visual Studio Editor を削除し…

【Unity】Script error: OnTriggerStay This message parameter has to be of type: [UNREGISTERED] The message will be ignored.

概要 Script error: OnTriggerStay This message parameter has to be of type: [UNREGISTERED] The message will be ignored. Unity で WebGL ビルドしたゲームを起動したら 上記のエラーが発生する現象に遭遇した Project Settings の「Player > Strip Eng…

【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=【ルビ】>…