コガネブログ

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

【Unity】unity-webview のマージンを RectTranform から設定できる機能「UniWebViewMarginsFromRectTransform」を GitHub に公開しました

はじめに unity-webview のマージンを RectTranform から設定できる機能 「UniWebViewMarginsFromRectTransform」を GitHub に公開しました バージョン Unity 2018.3.11f1 使い方 var rectTransform = GetComponent<RectTransform>(); var margins = WebViewUtils.ToMargins</recttransform>…

【Unity】adb shell am start で Android アプリを起動した時に指定された引数を解析する機能「Uni Android Intent」を GitHub に公開しました

はじめに adb shell am start で Android アプリを起動した時に指定された引数を解析する機能 「Uni Android Intent」を GitHub に公開しました バージョン Unity 2018.3.11f1 使用例 adb shell am start ^ -n com.baba_s.uniandroidintent/com.unity3d.play…

【Unity】iOS ビルドで Automatically Sign をオンにしても Xcode プロジェクトの Automatically manage signing がオンにならない時に暫定対応したこと

概要 iOS の PlayerSettings で Automatically Sign をオンにして iOS ビルドしても Xcode プロジェクトの Automatically manage signing がオンにならない現象に遭遇した TEAM_ID="【Signing Team ID】" PBXPROJ_PATH="【Xcode プロジェクトのビルド先】/Un…

【Unity】iPhone X の ホームバーを非表示にする方法

概要 Unity メニューの「Edit > Project Settings...」から「Player」を選択して 「Hide home button on iPhone X」をオンにしてビルドすることで iPhone X のホームバーを非表示にすることができます (画面をタップするとホームバーが表示されます)

【Unity】ビルドした Android アプリをコマンドプロンプトから起動する方法

概要 adb shell am start -n 【パッケージ名】/com.unity3d.player.UnityPlayerActivity 上記のようなコマンドをコマンドプロンプトから実行することで Unity でビルドしたアプリを起動できます (MainActivity を変更している場合は、MainActivity の指定を…

【Unity】コマンドから Android アプリを起動した時の引数を受け取る方法

概要 adb shell am start ^ -n 【パッケージ名】a/com.unity3d.player.UnityPlayerActivity ^ --ez automation true 例えば上記のようなコマンドで Android アプリを起動した場合 using UnityEngine; public class Example : MonoBehaviour { private void S…

【Xcode】has XXXX iOS Distribution certificates but their private keys are not installed. Contact the creator of one of these crrtificates to get a copy of the private key.

概要 has XXXX iOS Distribution certificates but their private keys are not installed. Contact the creator of one of these crrtificates to get a copy of the private key. Xcode でアーカイブしたデータを Validate しようとした時に 上記のエラー…

【Unity】Error: Error while saving blame file, build will continue

概要 Error: Error while saving blame file, build will continue Error: 隕∫エ?繧ソ繧、繝?uses-sdk"縺ォ髢「騾」莉倥¢繧峨l縺ヲ縺?k螻樊?ァ"tools:overrideLibrary"縺ョ謗・鬆ュ霎?tools"縺後ヰ繧、繝ウ繝峨&繧後※縺?∪縺帙s縲? UnityEngine.GUIUtility:ProcessEve…

【Unity】モバイルにおいてタッチ操作でカメラの移動、回転ができる「Touch mobile camera」紹介($4.99)

はじめに 「Touch mobile camera」を Unity プロジェクトに導入することで モバイルにおいてタッチ操作でカメラの移動、回転ができるようになります 準備 シーンのカメラを削除して、代わりに「RTS_Cam」プレハブをシーンに配置します カメラの操作感は「RTS…

【Unity】Post Processing Stack v2 で Bloom を使用した場合と自作した Bloom を使用した場合の Android 実機での FPS の違い(自分用メモ)

検証環境 Unity 2018.3.11f1 Post Processing 2.1.6 P10 lite 検証結果 Bloom 無し Post Processing Stack v2 の Bloom 自作した Bloom 補足 「自作した Bloom」の検証には下記のシェーダを使用させていただきました

【Unity】「Shader Graph Example Library」のサンプルシーンを Android で実行した場合の FPS(自分用メモ)

概要 「Shader Graph Example Library」のサンプルシーンを Android で実行した場合に FPS がどうなるか気になったので調査してみました (時間をかけて検証したわけではないので、あくまで参考程度のモノになります) 検証環境 Unity 2018.3.11f1 Lightweig…

【Unity】Unity エディタの Game ビューに iPhone X のセーフエリアを表示できる「iPhone X Safe Area Drawer」を GitHub に公開しました

はじめに Unity エディタの Game ビューに iPhone X のセーフエリアを表示できる 「iPhone X Safe Area Drawer」を GitHub に公開しました バージョン Unity 2018.3.9f1 使用例 使い方 「iPhoneXSafeAreaDrawerSettings」を選択して IsEnable をオンにすると…

【Unity】セーフエリアに合わせて RectTransform のサイズを調整するコンポーネント

ソースコード 使い方 「SafeAreaPanel」を uGUI のオブジェクトにアタッチすることで使用できます 例えば iPhone XR で使用すると、上記のようにセーフエリアに合わせて UI.Image のサイズが自動で調整されます

【Unity】CrashReport の末尾の要素2つは重複している?

概要 var reports = CrashReport.reports .Take( CrashReport.reports.Length - 1 ); 自分の環境下だけの問題かもしれないですが、 CrashReport.reports の末尾の要素2つは重複しているようだったので 上記のコードのように末尾のコードは無視して参照してい…

【Unity】実機で読み込まれているマテリアルの一覧を取得する方法

概要 using System.Linq; using System.Text; using UnityEngine; public class Example : MonoBehaviour { private void Awake() { var list = Resources .FindObjectsOfTypeAll<Material>() .Where( c => ( c.hideFlags & HideFlags.NotEditable ) == 0 ) .Where( c </material>…

【Unity】実機で読み込まれているテクスチャの一覧を取得する方法

概要 using System.Linq; using System.Text; using UnityEngine; public class Example : MonoBehaviour { private void Awake() { var list = Resources .FindObjectsOfTypeAll<Texture2D>() .Where( c => ( c.hideFlags & HideFlags.NotEditable ) == 0 ) .Where( c </texture2d>…

【Unity】NotSupportedException: Encoding 932 data could not be found. Make sure you have correct international codeset assembly installed and enabled.

はじめに using System.Text; using UnityEngine; public class Example : MonoBehaviour { private void Start() { var encoding = Encoding.GetEncoding( "shift_jis" ); var count = encoding.GetByteCount( "ピカチュウ" ); Debug.Log( count ); } } 上…

【Unity】iOS で Architecture を Universal から ARM64 に変更すると Xcode のビルド時間がどれだけ削減できるか調べてみた

はじめに iOS で Architecture を Universal から ARM64 に変更すると Xcode のビルド時間がどれだけ削減できるか調べてみました 検証環境 Unity バージョン:2018.3.7f1 空の Unity プロジェクトで検証 検証結果 Architecture ビルド時間 タスク数 Universa…

【Unity】Android で Target Architectures を減らすとビルド時間がどれだけ削減できるか調べてみた

はじめに Android で Target Architectures を減らすと ビルド時間がどれだけ削減できるか調べてみました 検証環境 Unity バージョン:2018.3.7f1 Scripting Backend:IL2CPP Build System:Gradle 空の Unity プロジェクトで検証 検証結果 Architecture ビ…

【Unity】Android で Target Architectures を減らすとアプリ容量がどれだけ削減できるか調べてみた

はじめに Android で Target Architectures を減らすと アプリ容量がどれだけ削減できるか調べてみました 検証環境 Unity バージョン:2018.3.7f1 Scripting Backend:IL2CPP Build System:Gradle 空の Unity プロジェクトで検証 検証結果 Architecture 容…

【Unity】iOS Bundle ID has not been set up correctly

概要 Exception: iOS Bundle ID has not been set up. Please set up the iOS Bundle ID in the Player Settings. The value must contain only alphanumeric characters (A-Z, a-z, and 0-9), hyphens (-), and periods (.). You also have to create a Pro…

【Unity】iOS の Architecture を変更するエディタ拡張

概要 iOS の Player Settings に存在する Architecture は using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] public static void Hoge() { PlayerSettings.SetArchitecture( BuildTargetGroup.iOS, 0 ); } } PlayerSettings.Se…

【Unity】Unity 2018.1 新機能 iOS / Android で「GUIUtility.systemCopyBuffer」を使用すると文字列をクリップボードにコピーできる

概要 using UnityEngine; public class Example : MonoBehaviour { private void Awake() { GUIUtility.systemCopyBuffer = "ピカチュウ"; } } Unity 2018.1 から GUIUtility.systemCopyBuffer を使用すると iOS でも Android でもクリップボードに文字列を…

【Unity】Unity 2018.3 新機能「Render outside safe area」Android ノッチ付き端末でセーフエリアの範囲外も描画するかどうか設定できる

概要 Unity 2018.3 より Android の Player Settings の Resolution and Presentation に 「Render outside safe area」という項目が追加されました この項目をオンにすると、Android ノッチ付き端末で セーフエリアの範囲外も描画するようになります(デフ…

【Unity】Android で外部キャッシュの保存領域のパスを取得する関数を自作してみる

概要 UnityEngine.Application.temporaryCachePath と同様の文字列を返す関数を自作してみる ソースコード using UnityEngine; public static class AndroidUtils { public static string GetExternalCacheDir() { using ( var player = new AndroidJavaClas…

【Unity】Android で外部データの保存領域のパスを取得する関数を自作してみる

概要 UnityEngine.Application.persistentDataPath と同様の文字列を返す関数を自作してみる ソースコード using UnityEngine; public static class AndroidUtils { public static string GetExternalFilesDir() { using ( var player = new AndroidJavaClas…

【Unity】Android でユーザーがアクセスできない内部キャッシュの保存領域のパスを取得する関数

ソースコード using UnityEngine; public static class AndroidUtils { public static string GetCacheDir() { using ( var player = new AndroidJavaClass( "com.unity3d.player.UnityPlayer" ) ) using ( var activity = player.GetStatic<AndroidJavaObject>( "currentActivi</androidjavaobject>…

【Unity】Android でユーザーがアクセスできない内部データの保存領域のパスを取得する関数

ソースコード using UnityEngine; public static class AndroidUtils { public static string GetFileDir() { using ( var player = new AndroidJavaClass( "com.unity3d.player.UnityPlayer" ) ) using ( var activity = player.GetStatic<AndroidJavaObject>( "currentActivit</androidjavaobject>…

【Unity】iOS ビルド後に Xcode プロジェクトの「Debug Information Format」に「DWARF」を設定するエディタ拡張

概要 「Debug」以外の項目にも「DWARF」を設定したい場合は 19行目の "Debug" の部分を "Release" や "ReleaseForProfiling" 、 "ReleaseForRunning" などに変更します 「DWARF with dSYM File」を設定したい場合は 21行目の "dwarf" の部分を "dwarf-with-d…

【Unity】iOS ビルド後に Xcode プロジェクトの「Enable Bitcode」をオフにするエディタ拡張

概要 参考サイト様 https://support.unity3d.com/hc/en-us/articles/207942813-How-can-I-disable-Bitcode-support-