コガネブログ

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

2021-07-01から1ヶ月間の記事一覧

【Unity】UnityYAMLMerge でシーンやプレハブのコンフリクトを解消する方法

はじめに UnityYAMLMerge はシーンやプレハブのコンフリクトを 良い感じにマージできる公式のツールです Fork や SourceTree などの Git クライアントのマージツールに UnityYAMLMerge を指定しておくことで、シーンやプレハブが コンフリクトした時のマージ…

【Unity】FastEnum の ToName を使用する時にエラーが出る場合の対応方法

はじめに using FastEnumUtility; using UnityEngine; public class Example : MonoBehaviour { private void Awake() { Debug.Log( KeyCode.Z.ToName() ); } } FastEnum の ToName を使用する時に FileNotFoundException: Could not load file or assembly …

【Unity】AssetPostprocessor.OnPostprocessTexture で Default Preset を反映する例

ソースコード using System.Text.RegularExpressions; using UnityEditor; using UnityEditor.Presets; using UnityEngine; public sealed class Example : AssetPostprocessor { private static readonly Regex GLOB_REPLACE_PATTERN = new Regex( @"^glob:…

【Unity】MessagePack の KeyAttribute を自動で付与できる MessagePackAnalyzer の使い方

概要 MessagePack のリポジトリの Releases のページから 「MessagePackAnalyzer.vsix」をダウンロードして ダウンロードが完了したら「MessagePackAnalyzer.vsix」を起動して Visual Studio にインストールします 後は、上記のように MessagePackObjectAttr…

【Unity】公式パッケージで iOS 14 の App Tracking Transparency に対応する方法

はじめに Unity 公式の「iOS 14 Advertising Support」をインストールすることで iOS 14 の App Tracking Transparency に簡単に対応できるようになります この記事では「iOS 14 Advertising Support」を使用して iOS 14 の App Tracking Transparency に対…

【Unity】Unity 2020 から便利になった Preset Manager を使ってみる

はじめに Unity 2020 からは Preset や Preset Manager が便利になりました アセットの Preset の場合は、どのフォルダのアセットに どの Preset を反映するか設定できるようになった Preset の一部のパラメータのみを反映できるようになった この記事では P…

【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://【ファイルサーバの名前】/【フォルダ名】'