コガネブログ

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

【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

概要 iOS ビルド時に上記のエラーに遭遇した Player Settings の Bundle Identifier に半角スペースが混ざっていたのが原因だった

【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」をオフにするエディタ拡張

概要 参考サイト様

【Unity】iOS で加速度センサを無効化してパフォーマンスを改善する

概要 iOS で加速度センサを使用しない場合、 Unity メニューの「File > Build Settings...」から 「Player Settings...」を開いて、iOS の Other Settings の中に存在する 「Accelerometer Frequency」を「Disabled」にすることで 少しだけパフォーマンスを…

【Unity】Windows で Unity エディタの Profiler を Android に接続する時に使用する IP アドレスを調べる方法

概要 Windows で Unity エディタの Profiler を Android に接続する際に Profiler の「Enter IP」から IP アドレスを指定して Android に接続する場合、 adb shell ip route Windows に Android を接続した状態で コマンドプロンプトで上記のコマンドを実行…

【Unity】iPhone X / XS のセーフエリアに対応できるアセットまとめ

一覧

【Unity】iOS / Android でゲーム中にカメラを起動し、撮影した写真や動画をゲーム内で使用できる「Unity Native Camera Plugin」紹介

はじめに 「Unity Native Camera Plugin」を Unity プロジェクトに導入することで iOS / Android でゲーム中にカメラを起動し、 撮影した写真や動画をゲーム内で使用できるようになります 使い方 この記事では Android における使用方法を紹介していきます U…

【Unity】Windows / Mac / iOS / Android でストレージの空き容量・使用中容量・合計サイズを取得できる「simple-disk-utils」紹介

はじめに 「simple-disk-utils」を Unity プロジェクトに導入することで Windows / Mac / iOS / Android でストレージの 空き容量・使用中容量・合計サイズを取得できるようになります 使い方 Windows using SimpleDiskUtils; using UnityEngine; public cla…

【Unity】iOS や Android のよく使う解像度を Game ビューに追加できる「GameViewSize」紹介

はじめに 「GameViewSize」を Unity プロジェクトに導入することで iOS や Android のよく使う解像度を Game ビューに追加できるようになります 使用例 適用前 適用後 使い方 Unity メニューの「Window>GameViewSize Settings」を選択すると Game ビューに解…

【Unity】Game ビューで iPhone X のセーフエリアの領域を確認できる「iPhone X Overlay」紹介

はじめに 「iPhone X Overlay」を Unity プロジェクトに導入することで Game ビューで iPhone X のセーフエリアの領域を確認できます 使用例 使い方 Game ビューの解像度から「iPhone X Wide」か「iPhone X Tall」を選択します

【Unity】uGUI で iPhone X のセーフエリアに対応できる「iPhone X Overlay」紹介

はじめに 「iPhone X Overlay」を Unity プロジェクトに導入することで uGUI で iPhone X のセーフエリアに対応できるようになります 使用例 使い方 uGUI で Image オブジェクトに「SafeAreaPadding」をアタッチして その子オブジェクトに uGUI のオブジェク…

【Unity】uGUI で iPhone X / XS のセーフエリアに対応したキャンバスを使用できる「Unity-SafeAreaCanvas」紹介

はじめに 「Unity-SafeAreaCanvas」を Unity プロジェクトに導入することで uGUI で iPhone X / XS のセーフエリアに対応したキャンバスを使用できるようになります 使用例 使い方 シーンに「SafeAreaCanvas」プレハブを配置して uGUI のオブジェクトはその…

【Unity】Game ビューで iPhone X / XS のセーフエリアの領域を確認できる「GameViewSize Changer」紹介

はじめに 「GameViewSize Changer」を Unity プロジェクトに導入することで Game ビューで iPhone X / XS のセーフエリアの領域を確認できるようになります 使い方 Unity メニューの「Window>GameViewSizeChanger」を選択して 表示されたウィンドウで解像度…

【Unity】Android の Gradle プロジェクトが生成された時に呼び出されるコールバック「IPostGenerateGradleAndroidProject」

概要 https://docs.unity3d.com/ScriptReference/Android.IPostGenerateGradleAndroidProject.html using UnityEditor.Android; using UnityEngine; public class Example : IPostGenerateGradleAndroidProject { public int callbackOrder { get { return 0…

【Unity】Unity 上で Android の logcat が実行できる「Unity3D LogCat extension」紹介

はじめに 「Unity3D LogCat extension」を Unity プロジェクトに導入することで Unity 上で Android の logcat が実行できるようになります Unity 2018.2.18f1 で動作することを確認済みです 使い方 Unity メニューの「Window>LogCat - Android Logger」を選…

【Unity】デフォルトの AndroidManifest.xml が保存されている場所

概要 【Unity のインストール先】\Editor\Data\PlaybackEngines\AndroidPlayer\Apk 上記のフォルダにデフォルトの AndroidManifest.xml が保存されています

【Unity】Unity 上で Android の logcat が実行できるパッケージが Package Manager からインストールできるようになった(現在はプレビュー版)

はじめに https://docs.unity3d.com/Packages/com.unity.mobile.android-logcat@0.1/manual/ Unity 上で Android の logcat が実行できるパッケージが Package Manager からインストールできるようになっていました 2018/12/25 現在はプレビュー版となってお…

【Unity】iOS / Android でプッシュ通知を実装できるパッケージが Package Manager からインストールできるようになった(現在はプレビュー版)

はじめに https://docs.unity3d.com/Packages/com.unity.mobile.notifications@1.0/manual/ iOS / Android でプッシュ通知を実装できるパッケージが Package Manager からインストールできるようになっていました 2018/12/18 現在はプレビュー版となっており…

【Unity】簡単にデバッグメニューを実装できる「SRDebugger」紹介($30)

概要 2015/2/7 に「SRDebugger」がリリースされました 「SRDebugger」を導入すると簡単にデバッグメニューを実装できるようになります 目次 概要 目次 検証環境 タブ System タブ Console タブ Options タブ Profiler タブ 開き方 ショートカットキー 設定ウ…

【Unity】【Airtest IDE】【Poco】ゲームオブジェクトをドラッグする方法

概要 Poco を使用してゲームオブジェクトをドラッグしたい場合は drag_to 関数を使用します # -*- encoding=utf8 -*- from poco.drivers.unity3d import UnityPoco poco = UnityPoco() button = poco('Button') target = poco('Target') # 2秒間かけてドラッ…

【Unity】【Airtest IDE】【Poco】ゲームオブジェクトのパラメータを参照する方法

概要 「Airtest IDE」の「Poco Assistant」でゲームオブジェクトを選択することで そのゲームオブジェクトのパラメータを参照することができます # -*- encoding=utf8 -*- from poco.drivers.unity3d import UnityPoco poco = UnityPoco() button = poco('St…

【Unity】【Airtest IDE】Android のアプリを起動する方法

概要 # -*- encoding=utf8 -*- from airtest.core.api import * auto_setup(__file__) start_app("【アプリのパッケージ名】") start_app 関数を使用することで、Airtest IDE から Android のアプリを起動できます 引数には、アプリのパッケージ名を指定しま…