コガネブログ

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

【Unity】MasterMemory を使用しているプロジェクトを Android IL2CPP ビルドした際に MemoryDatabase 生成時に強制終了する場合

解決方法 Android Device Monitor でログを見てみると 「Unable to find advapi32」というエラーが出力されている Project Settings の「Player」を開いて「ARMv7」をオフにしてビルドすると直る 参考サイト様

【Unity】External Tools の Android の項目の取得または設定ができるパッケージ「UniAndroidExternalTools」を GitHub に公開しました

リポジトリ 使用例 using UniAndroidExternalTools; using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Log" )] private static void Log() { // JDK Installed with Unity (recommended) Debug.Log( "JdkInstalledWi…

【Unity】高速な xcodebuild

概要 # 通常の xcodebuild xcodebuild \ -project $PROJECT_PATH \ -scheme $SCHEME \ archive -archivePath $ARCHIVE_PATH \ PROVISIONING_PROFILE=$PROVISIONING_PROFILE # 高速な xcodebuild xcodebuild \ -project $PROJECT_PATH \ -scheme $SCHEME \ ar…

【Unity】Exception: Calling TargetGuidByName with name='Unity-iPhone' is deprecated

概要 using UnityEditor; using UnityEditor.iOS.Xcode; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var path = "iOS"; var projectPath = PBXProject.GetPBXProjectPath( path ); var project = new PBXProje…

【Unity】Android のパッチビルドでビルド時間を削減する

概要 アセットファイルは変更せず、スクリプトのみ変更した場合は Build Settings の「Development Build」と「Scripts Only Build」をオンにして 「Patch」もしくは「Patch And Run」を選択することでビルド時間を削減できます 検証結果 適当な Unity プロ…

【Android】'lib\monitor-location' が見つかりません。名前を正しく入力したかどうかを確認してから、やり直してください。

概要 'lib\monitor-location' が見つかりません。 名前を正しく入力したかどうかを確認してから、やり直してください。 【Android SDK】\tools\monitor.bat を起動したところ 上記のメッセージが表示された こちらの対応を行ったら正常に起動できるようにな…

【Android】A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Monitor

概要 A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Monitor, No Java virtual machine was found after searching the following locations : XXXX javaw.exe in your current PATH 【Android SDK】\…

【Unity】Unity 2019.3 新機能 - Android SDK や NDK のパスを参照できるプロパティが追加された

概要 using UnityEditor; using UnityEditor.Android; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { Debug.Log( AndroidExternalToolsSettings.ndkRootPath ); Debug.Log( AndroidExternalTo…

【Unity】Xcode プロジェクトをキャッシュしてビルド時間を削減できる「UnityXcodeCache」紹介

はじめに 「UnityXcodeCache」を Unity プロジェクトに導入することで Xcode プロジェクトをキャッシュしてビルド時間を削減できようになります 使い方 「Tools > Xcode > WriteCacheXcode」を実行します Xcode プロジェクトをビルドします 「Tools > Xcode …

【Unity】50種類以上のデバイスでゲーム画面がどう表示されるかエディタ上で確認できて、ノッチやセーフエリアの対応もできる「Universal Device Preview」紹介

はじめに この記事は「Unityアセット冬のアドベントカレンダー 2019 Winter」の 12/2 の記事です 「Universal Device Preview」を Unity プロジェクトに導入することで 50種類以上のデバイスでゲーム画面がどう表示されるかエディタ上で確認できて、 ノッチ…

【Unity】Android のバイブレーションで時間を指定できる「UniAndroidVibration」紹介

はじめに 「UniAndroidVibration」を Unity プロジェクトに導入することで Android のバイブレーションで時間を指定できます 使い方 using UnityEngine; public class Example : MonoBehaviour { private void Update() { if ( Input.GetMouseButtonDown( 0 …

【Unity】Android で QR コードからデータを読み込む方法

はじめに 「ZXing.Net」を Unity プロジェクトに導入することで Android で QR コードからデータを読み込むことができるようになります (iOS でも使用できますが、本記事では Android における使い方を紹介していきます) 目次 はじめに 目次 サンプルプロ…

【Unity】タッチ入力を検出できる「unity-pan-and-zoom」紹介

はじめに 「unity-pan-and-zoom」を Unity プロジェクトに導入することで タッチ入力を検出できるようになります 使い方 シーンのゲームオブジェクトに「PanAndZoom」をアタッチして using UnityEngine; public class Example : MonoBehaviour { private voi…

【Unity】11種類以上のモバイルデバイスでゲーム画面がどのように表示されるかエディタ上で確認できる「Device Simulator」が Package Manager からインストールできるようになった

はじめに https://docs.unity3d.com/Packages/com.unity.device-simulator@1.0/manual/ 11種類以上のモバイルデバイスでゲーム画面がどのように表示されるか エディタ上で確認できる「Device Simulator」が Package Manager からインストールできるようにな…

【Unity】モバイルで画面の向きを変更する方法

概要 Screen.orientation = ScreenOrientation.LandscapeLeft; Screen.orientation を変更することでモバイルで画面の向きを変更できます 列挙型 向き Portrait LandscapeLeft LandscapeRight

【Unity】Unity プロジェクトを開いた時に Android の keystore のパスワードを自動で設定するエディタ拡張

ソースコード using UnityEditor; public static class AndroidKeystoreRegister { [InitializeOnLoadMethod] private static void Run() { PlayerSettings.Android.keyaliasPass = "【パスワード】"; PlayerSettings.Android.keystorePass = "【パスワード…

【Unity】Android ビルド完了後に Bundle Version Code を増やすエディタ拡張

ソースコード using UnityEditor; using UnityEditor.Build; using UnityEditor.Build.Reporting; public class BundleVersionCodeIncrementer : IPostprocessBuildWithReport { public int callbackOrder => 0; public void OnPostprocessBuild( BuildRepor…

【Unity】Android ビルド開始時に Bundle Version Code を増やすエディタ拡張

ソースコード using UnityEditor; using UnityEditor.Build; using UnityEditor.Build.Reporting; public sealed class BundleVersionCodeIncrementer : IPreprocessBuildWithReport { public int callbackOrder => 0; public void OnPreprocessBuild( Build…

【Unity】Google AdMob にテストデバイスを追加する時は SystemInfo.deviceUniqueIdentifier が使える

概要 Google AdMob の公式ドキュメントには テストデバイスを追加する時はコンソールや logcat 出力で テストデバイスの ID をコピーして使用する、と記載されていますが var request new AdRequest.Builder() .AddTestDevice( SystemInfo.deviceUniqueIdent…

【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…