Unityで知っておくとちょっと開発効率が上がるかもネタ

ayumegu(プログラマー)
よろしくお願いします。

こんにちは、あゆめぐです
Unityを使っていていくつか知っておくと開発効率が上がるのでいったんまとめてみる

##Mac版のUnityで複数のプロジェクトを同時に開く方法
Mac版のUnityで複数のプロジェクトを同時に開く方法
Windowsならいくつでもアイコンクリックで開くけど、Macだとデフォルトの設定のままでは一つしか開かない
いくつも常に開きっぱの私にはこれは必須^^

##非Active時にUnityの動作を続けるように設定する 非Active時にUnityの動作を続けるように設定する
これが地味に便利。コンテンツダウンロードのテスト中とか、放置して動作の観察中でも、Webをみたりソースを書いたりできる。defaltだとUnityのフォーカスが外れると動きが止まる・・・。

##Transformの拡張メソッド追加 Transform拡張
Javascriptならtransform.position.x = 3;などができるけれどC#だとできない・・・。
いちいちVector3を設定するのもめんどくさいのでこちらのソースを入れれば
transform.SetPositionX(3);
transform.AddPositionX(3);
などができるようになる

##シーンの切り替え(Editor拡張) 開発を進めているといちいちシーンをクリックして開くのがめんどくさい
そんなときはEditor拡張

好きなショートカットでシーンの切り替えの設定も可能

using System.Collections;
using UnityEditor;
public class DebugMenu : EditorWindow{
[MenuItem("DebugMenu/OpenScene_Title &#%1")]
public static void OpenScene_Title(){
OpenScene("Title");
}
[MenuItem("DebugMenu/OpenScene_Main &#%2")]
public static void OpenScene_Main(){
OpenScene("Main");
}
private static void OpenScene(string scene){
EditorApplication.OpenScene(string.Format("Assets/Scenes/{0}.unity",scene));
}
}

この場合command+option+shift+1でTitleシーンが開く
なお、切り替え時にシーンが変更されていても確認ダイアログが出ないので注意
また、 EditorApplication.OpenSceneをOpenSceneAdditiveにするとシーンの加算ロードもできる

##プラットフォームの切り替えを早くする switchplatformというAssetを使用すると早くなる

プラットフォーム切替を15倍くらい高速化する Fast Platform Switch