Parent of RectTransform is being set with parent property. の警告対策

Unity5.5f3 にて uGUI を使用していると以下の警告が出た。


Parent of RectTransform is being set with parent property. Consider using the SetParent method instead, with the worldPositionStays argument set to false. This will retain local orientation and scale rather than world orientation and scale, which can prevent common UI scaling issues.



[原因]
uGUI のパーツは「Transform」ではなく「RectTransform」をコンポーネントに持っている。

それゆえ、普段のように

uguiObject.transform.parent = newParentObj;

とかしてしまうと「transform」で parent を決めるな!

RectTransform使え! と怒られるのである。




[対策]

警告の通り、

RectTransform を取得した上で「SetParent」メソッド+第二引数に「false」を設定して解決。

RectTransform rt = uguiObj.GetComponent();
if( rt )
rt.SetParent( newParentObj, false );


parse new コマンドの認証で失敗したら

Parse.com を始めようとGoogleアカウントでサインアップをし、

Parseコマンドツールをインストール。

しかし、チュートリアル通り「parse new」を叩いても

認証でパスワードを入力すると、何度入力しても以下が出てログインできない。

Invalid username or password entered
Please try again...

チュートリアルに書かれているようにGoogleやGithubアカウントでサインアップした人は

まだパスワードが未設定の扱いになっているため、別途Parse用パスを設定する必要がある。



【解決方法】

Parse.com のサイトからまずダッシュボードにログイン。

右上の自身のアカウント名をクリック>Accountをクリック

右のやや上部にある「Update」をクリック

Password にParse用パスワードを設定

コマンドラインから「parse new」し、設定したパスワードで認証で解決。

Unity で importing small assets と出て起動しなくなる

2DToolKitのサンプルプロジェクトを開いてから、「importing small assets」のプログレスが消えず

プロジェクトを開けなくなってしまったが、以下で解決。

1. alt を押しながら Unity を起動

2. 空のプロジェクトを適当に新規作成し、2D ToolKitをインポート

3. メニューの「2Dtoolkit」>「Preferences」を選択し、「Auto Rebuild」のチェックを外す

4. 上記設定さえ出来れば、空のプロジェクトは保存しないで後で消してしまって良い

5. OpenProject で起動しなくなっていたプロジェクトを開きなおして解決

GoogleAppEngine でパスワードが合っているのに違うと言われる

久々に

appcfg.py download_app -A -V

コマンドで、プロジェクトのソースを引っ張ってこようと思った時のこと。

絶対合っているのにユーザーIDかパスが違うといって蹴られる。

3回間違えるとリトライさせてもらえなくなるが、その際システムクロックも違うと言われて完全迷子。

結局、ブラウザでそのアカウントにログイン>二重認証を有効にする設定を行う(要携帯メールアドレス)

その後、設定>セキュリティ>アプリパスワード で「その他」「GoogleAppEngine」のように選択&入力しパスを作成

そのパスで再度コマンドからログインすると解決した。

Unity MonoDevelopで変なビルドエラーが出る

NGUI や 2DToolkit、WWW などさっきまで動いていたクラス名がどどっとエラーになってコンパイルされた時は、

MonoDevelop のビルドから一度クリーンをし終了する。

次に Unity のメニューから Assets > Sync MonoDevelop Project から

MonoDevelop を起動してやると大体直る。