コガネブログ

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

【Unity】UnitGenerator の基本的な使い方

はじめに この記事では UnitGenerator の基本的な使い方を紹介していきます 目次 はじめに 目次 検証環境 使い方 トラブルシューティング 参考サイト様 検証環境 Unity 2020.3.13f1 UnitGenerator 1.0.0 使い方 Unity プロジェクト直下に「UnitSourceGen」フ…

【Unity】CsprojModifier と BannedApiAnalyzers を使用して、特定の関数が使われていたら警告を表示線してみる

はじめに CsprojModifier と BannedApiAnalyzers を使用することで 特定の関数が使われていたら警告線を表示できるようになります 例えば、プロジェクトにおいてチームメンバーに 重たい Unity の API を使用してほしくない時などに役に立ちます この記事で…

【Unity】無料で Hierarchy を拡張できる「Smart Hierarchy for Unity」紹介

はじめに 「Smart Hierarchy for Unity」を Unity プロジェクトに導入することで 無料で Hierarchy を拡張できます 使用例 各ゲームオブジェクトのアイコンがコンポーネントのアイコンに変化します マウスカーソルを合わせているゲームオブジェクトに アクテ…

【VSCode】制限モードを無効化する方法

概要 VSCode の上記の制限モードを無効化したい場合は 「歯車アイコン > 設定」を押して 「セキュリティ」を押して「Trust: Enabled」のチェックを外して 再起動します これで制限モードを無効化できます

【Unity】無料で Hierarchy を拡張できる「Hierarchy 2」紹介

はじめに 「Hierarchy 2」を Unity プロジェクトに導入することで 無料で Hierarchy を拡張できます 使用例 Hierarchy にタグやレイヤー、コンポーネントの情報が表示されます タグやレイヤー、コンポーネントを右クリックすると編集できます Project Settin…

【Unity】Visual Studio Editor Package version 2.0.11 is available, we strongly encourage you to update from the Unity Package Manager for a better Visual Studio integration

概要 Visual Studio Editor Package version 2.0.11 is available, we strongly encourage you to update from the Unity Package Manager for a better Visual Studio integration Unity エディタに上記の警告が表示されるようになったら Unity メニューの…

【Unity】ArgumentException: You can only call GUI functions from inside OnGUI.

概要 using System.Threading.Tasks; using UnityEditor; using UnityEngine; public sealed class Example : EditorWindow { [MenuItem( "Tools/Hoge" )] private static void Open() { GetWindow<Example>(); } private async void OnGUI() { if ( GUILayout.Button</example>…

【Unity】Addressables でローカルカタログを圧縮する場合にビルドログがアプリに含まれないようにする方法

検証環境 Addressables 1.16.19 概要 Addressables でローカルカタログを圧縮する設定を有効化して アセットバンドルをビルドするようにしたところ、 「buildlogtep.json」というビルドログのファイルが アプリビルド時にアプリに含まれるようになってしまっ…

【Unity】Addressables でローカルカタログを読み込む時にメインスレッドが止まらないようにする方法

検証環境 Addressables 1.16.19 概要 Addressables で管理しているグループが多いと、 ローカルカタログを読み込む処理に時間がかかるようになり、 メインスレッドが止まってしまう 重たい処理は TextDataProvider.Start 関数で File.ReadAllText を使用して…

【Unity】MessagePack for C# で LZ4 の圧縮・展開を行う方法

概要 using MessagePack; using UnityEngine; public class Example : MonoBehaviour { private void Awake() { var str = "ピカチュウ"; var lz4Options = MessagePackSerializerOptions.Standard.WithCompression( MessagePackCompression.Lz4BlockArray )…

【Unity】Unity 2021.1 新機能 - コンパイル開始時に Console のログをクリアできるオプションが追加された

概要 Unity 2021.1 から、Console の「Clear > Clear on Recompile」をオンにすると コンパイル開始時に Console のログをクリアできるようになった

【Unity】Unity 2021.1 新機能 - エディタのウィンドウのタブをダブルクリックすると最大化できる

概要 Unity 2021.1 から、エディタのウィンドウのタブをダブルクリックすると 最大化・最小化を切り替えられるようになった

【Unity】iOS において指定したパスを iCloud のバックアップの対象外にする方法

概要 using System.Diagnostics; using UnityEngine; public class Example : MonoBehaviour { private void Awake() { SetNoBackupFlag( Application.persistentDataPath ); } [Conditional( "UNITY_IOS" )] private static void SetNoBackupFlag( string p…

【Unity】Inspector に表示するコンポーネントを選択できるようになる「Smart Inspector」紹介

はじめに 「Smart Inspector」を Unity プロジェクトに導入することで Inspector に表示するコンポーネントを選択できるようになります 使用例 このように Inspector に表示するコンポーネントを選択できます また、UnityEvent の表示がデフォルトで閉じた状…

【Unity】Curl error 7: Send failure: Software caused connection abort

概要 Curl error 7: Send failure: Software caused connection abort (Filename: ./Modules/UnityWebRequest/Implementations/TransportCurl.cpp Line: 813) Android でインターネットに接続できていない時に UnityWebRequest を実行したら上記のエラーが発…

【Mac】シェルスクリプトでファイルサーバをマウントする方法

概要 open 'smb://【ファイルサーバの名前】/【フォルダ名】'

【Jenkins】io.jenkins.plugins.appcenter.AppCenterException: Upload app to resource unsuccessful: HTTP 500 Internal Server Error:

概要 io.jenkins.plugins.appcenter.AppCenterException: Upload app to resource unsuccessful: HTTP 500 Internal Server Error: {"error":{"code":500,"message":"Unable to load one or more of the requested types. Retrieve the LoaderExceptions pro…

【Bitmap font generator】X characters from the file are not available in the font

概要 Bitmap font generator メニューの「Edit > Select chars from file」で テキストファイルから文字を読み込んだ時に X characters from the file are not available in the font 上記の警告が表示されて文字が反映されなかった場合は テキストファイル…

【Jenkins】currentBuild.description で改行する方法

概要 stage( "【ステージ名】" ){ steps { script{ currentBuild.description = "aaa<br>bbb<br>ccc" } } } <br> を使用する 参考サイト様

【Unity】Addressables で Android において StreamingAssets から読み込んだアセットバンドルがキャッシュに保存されない現象に関するメモ

検証環境 Addressables 1.16.19 概要 Addressable を使用しているプロジェクトで Android ビルドして StreamingAssets からアセットバンドルを読み込んだ時に そのアセットバンドルがキャッシュに保存されない現象に遭遇した Addressable の AssetBundleProv…

【Unity】Addressables で通信環境が悪い状態でサーバからアセットバンドルのダウンロードに失敗した時に内部で例外が出ないようにする方法

検証環境 Addressables 1.16.19 概要 Exception: Attempting to use an invalid operation handle UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle.get_InternalOp () (at Runtime/ResourceManager/AsyncOperations/AsyncOperationHan…

【Unity】AndroidJavaException: java.lang.ClassNotFoundException: android.support.customtabs.CustomTabsIntent$Builder

概要 AndroidJavaException: java.lang.ClassNotFoundException: android.support.customtabs.CustomTabsIntent$Builder Android 実機で Chrome Custom Tabs を開こうとしたら 上記の例外が発生する状態に遭遇した 以下のページの次の手順を行わないようにし…

【Jenkins】WorkflowScript: XX: Duplicate stage name: "YYYY" @ line XX, column ZZ.

概要 WorkflowScript: XX: Duplicate stage name: "YYYY" @ line XX, column ZZ. 同名の stage が複数存在する場合に発生するエラー

【Unity】BetterStreamingAssets: file XXXX is where Streaming Assets are put, but is compressed.

概要 BetterStreamingAssets: file XXXX is where Streaming Assets are put, but is compressed. If this is a App Bundle build, see README for a possible workaround. If this file is not a Streaming Asset (has been on purpose by hand or by anoth…

【Unity】Addressables でリモートカタログを更新する時にメインスレッドが止まらないようにする方法

検証環境 Addressables 1.16.19 概要 Addressables で管理しているグループが多いと、 Addressables.UpdateCatalogs の処理に時間がかかるようになり、 メインスレッドが止まってしまう 重たい処理は UpdateCatalogsOperation.Execute 関数なので この部分を…

【Unity】Cannot instantiate objects with a parent which is persistent. New object will be created without a parent.

概要 using UnityEngine; public class Example : MonoBehaviour { public GameObject m_prefab; private void Awake() { Instantiate ( original: m_prefab, parent: m_prefab.transform // ★ ); } } 新しいゲームオブジェクトをスクリプトから生成する時に…

【Unity】ld: framework not found AdServices

概要 ld: framework not found AdServices Unity で iOS ビルドする時に AdServices.framework を Xcode プロジェクトに追加してからビルドしたら、 上記のエラーが出てビルドに失敗する現象に遭遇した 使用している Xcode のバージョンを 12.2 から 12.4 に…

【Unity】Addressables でローカルカタログを圧縮する場合にビルドログがアプリに含まれないようにする方法

検証環境 Addressables 1.16.19 概要 Addressables でローカルカタログを圧縮する設定を有効化して アセットバンドルをビルドするようにしたところ、 「buildlogtep.json」というビルドログのファイルが アプリビルド時にアプリに含まれるようになってしまっ…

【Unity】Addressables で通信環境が悪い状態でサーバからアセットバンドルのダウンロードに失敗した時に内部で例外が出ないようにする方法

検証環境 Addressables 1.16.19 概要 Exception: Attempting to use an invalid operation handle UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle.get_InternalOp () (at Runtime/ResourceManager/AsyncOperations/AsyncOperationHan…

【Unity】Addressables の Asset Group の Inspector で Advanced Options を常に開いた状態にしたい場合

検証環境 Addressables 1.16.19 概要 Addressable Asset Group の Inspector で Advanced Options は デフォルトが閉じた状態なので、各グループの Advanced Options を見たい場合に 毎回 Advanced Options の ▶ をクリックして開く必要がある BundleAssetGr…