«

""


[Unity] Unity Hubでremoveできないバージョンの削除方法

Unity Hub からUnityの色んなバージョンをインストールしていると思うのですが
たまに「Unityを手動インストールしてから、UnityHubに認識させる」
というのをやるときがあると思います

ないよーと思うかもしれませんが、この記事はそれがある人のための手順です

エンジンバージョンの歯車メニューの項目

UnityHubのInstallsの中には、複数のUnityバージョンが存在できます

UnityHubからUnityをインストールした場合
歯車マークの Manage を押すと、こんな項目が出てきます

けどもし、手動インストールしたものをUnityHubに認識させていたら、こんな項目になります

手動インストールしたら、UnityHubから Add modules 出来ないんですよね

手動インストールしてしまったけど
UnityHubで管理したらよかった、モジュールもここから追加したいし
いったん手動インストールのバージョンは削除しよう!

と思って Remove From Hub を押下するのですが
何も起こらないです

あれ?どういうこと?

手動でUnityをアンインストールする

手動で入れたので、手動で削除してみます

さっきの歯車メニューで Show in Exproler を押すと、Unityの対象バージョンがインストールされているディレクトリが開きます

その中に、Uninstall.exe があるので、それを起動して
いったん削除したいUnityバージョンをアンインストールします

その後、UnityHubに戻っても、まだ消えていないので、PCを再起動しましょう!

そしたら、消したかったUnityバージョンがUnityHubから消えています!やった!

UnityHubでインストールする

インストールしたいバージョンが Official releases にあればいいですけど
ない場合は、 Aechive から入れるようにします

https://unity.com/releases/editor/archive

このページの All versions に入れたいバージョンがすんなりあればいいけど、ない時もあります

そんなときは、URLを推測して書いてみると、あったりします
(それを使っていいかどうかはよく判らないですが、アクセスしてみたらありました)

とにかく、対象のバージョンを見つけたら、See all のリンクをクリックして対象バージョンのページに行きます
上のほうにある → INSTALL を選びましょう

Manual installs の項目から exe などをダウンロードしてしまわないように気を付けてください

これで一件落着です

Remove from Hub が効かなくて焦ったので、よかった~


[C#] $文字を置換したい

ちょっとnewbie的ですが、$ 文字をひっかけようとしてうまくいかなかったので、その時のメモです

今回の開発環境はこちら


Unityで string 文字列の中の $ 文字を置換使用を思いましたが、うまく出来ませんでした

1
text = text.Replace("\\$", "");

はて。。。なんでかな?

調べてみて、こちらなら思った通りの動作になりました

1
text = Regex.Replace(text, "\\$", "");

正規表現だとうまく行くみたい

参考:


[Unity] Windows/macOS内にあるUnityの場所

バッチモードとかでUnityを起動させたいとき

Windowsだと

C:¥Program Files¥Unity¥Hub¥Editor¥(バージョン名)¥Editor¥Unity.exe

とまぁ想像のつく位置にいてるんですけど

macOSのとき、あれ?どこにあるんだっけな?になったので、そのメモです

mac の場合はここに居てました

/Applications/Unity/Hub/Editor/(バージョン名)/Unity.app/Contents/MacOS/Unity

(バージョン名) は例えば 2021.3.2f1 とかになります


[VisualStudio] Visual Studioで使う改行コードを指定する方法

環境

元々これを調べたきっかけは、Unityで作ったプロジェクトファイルを開いたときに
改行コード に関する警告が必ず出ていたからです

There are inconsistent line endings in the ‘Assets/Script/xxxxx.cs’ script. Some are Mac OS X (UNIX) and some are Windows.

Windowsで作業してたとしても、Unityのプロジェクトはで作られたソースコードは
改行コードが LF なんですよね
Visual Studio のデフォルトは CR+LF

それで改行コードが混じってますよ~とVSが警告出してくれてたんですね。。。

プロジェクト内では、Windows と macOS が入り乱れている状態なので
CR+LF に統一も出来ず
LFに統一するしかない…

そんなときは、.editorcongfig ファイルを作成するのがおススメです!

.editorcongfig ファイル

[*]
end_of_line = lf
charset = utf-8-bom

end_of_line で改行コードを LF 指定にしています
あとUnityで日本語を扱うなら、Bom付きのUTF-8 が良いらしい(?)

この.editorcongfig ファイルをUnityプロジェクト直下に置けばOK

Visual Stusio で編集したコードでも、LFの改行コードとなりました

警告無く作業が出来るようになって、小さなストレスから解放♪


[Unity] エディタを開く前にUnityのバージョンを調べる方法

既存のUnityのプロジェクトを開くとき、バージョンを合わせて開きたいですよね、
開く前に!
そしたら事前にそのバージョンのUnityをダウンロードできますし!

そんなときはここのディレクトリを見ると良いです!

ProjectSettings > ProjectVersion.txt

バージョンがそのまんま書いています( ^^) _旦~~


[Unity] Macのトラックパッドのみでシーンビューを動かす

動作環境

Unityのシーンビューを操作しようとして、トラックパッドだけで動かすやり方が判らなかったので、そのメモです

// マウスが引っ越ししで、どこにあるか判らなくなった

ちょっとやりにくいけど、出来ないよりマシかな( ..)φメモメモ


[Unity] Unityのライセンス情報をアンインストールしたい

Unityをアンインストールしたけど、あれ?ライセンス情報が残ってる(?_?)
というのが調べたきっかけです

PCからUnityの情報を完全消去したいときの参考に

ライセンス情報 (Unity5.x系)

ライセンスファイルは、Unityをアンインストールしても消えません><

以下にライセンスファイル(.ulfファイル)が残っています

で…

確かに上記を消したら、アクティベーション情報は消えるのですが
Unityにログインしたユーザ情報は残ってる様です

キャッシュ的なものも消さないと、完全アンインストールにはならないみたい

その他、アンインストールで消えないディレクトリ

まとめ

逆の言い方をすると、
上に書いたディレクトリ4つ

を消せば、Unityをアンインストールしなくても
ライセンス情報のリセット、ユーザ情報のリセットが可能でした

もちろん
C:/Users/(username)/AppData/RoamingLocalLow/Unity/Asset Store-5.x
の下は、ライセンスファイルとは無関係みたいです

Unity2017系は?

Unity2017 では、ライセンスディレクトリは同様で、ライセンスファイル名が

になってるみたいです
(消さないといけないディレクトリまでは、2017系では調べてないので、ごめんなさい)

参考:


[Unity] エディタ上でゲーム実行中にエディタの色を変える

Unityエディタ上で、ゲームを実行中(再生中)に、色を変える設定です
// Unity的には「プレイモード」と呼ぶみたいです

上記公式動画↑↑↑の 20秒~32秒くらいの間で、設定の操作を教えてくれてます

いちおここにも書いておくと

Edit > Preferences > Colors > Playmode tint

で実行中のエディタの色を変えることが出来ます

いつも、Unityをインストールして最初にやってるんだけど、
いつも忘れて結局調べてるので…(*ノωノ)


[Unity] 常にカメラの前にSpriteを出す

Unityでカメラに追従して、前面にSpriteを出す方法

これ、本当は、カメラの子供として指定すればもっと簡単なんですけど…

testScript.transform.parent = Camera.main.transform

この場合、
カメラにアニメーションが付いてる時(メインカメラは固定ポジションのままの時)に
うまく乗せられなかったりして、
面倒だなーと思い、Update毎に自分で位置を更新することにしました
(変に親子関係があるのも、後で何か制限されたらやだなーとかとかもあり…)

以下を参考にしたら、簡単にカメラの前に表示するスプライトを簡単に表現できました

public class TestExecutor : MonoBehaviour
{
    private Texture2D blackTexture;
    private SpriteRenderer testSprite;

    void Start()
    {
        // Create black texture
        blackTexture = new Texture2D(32, 32, TextureFormat.RGB24, false);
        blackTexture.SetPixel(0, 0, Color.white);
        blackTexture.Apply();

        // Create Sprite
        var sprite = Sprite.Create(
          texture: blackTexture,
          rect: new Rect(0, 0, blackTexture.width, blackTexture.height),
          pivot: new Vector2(0.5f, 0.5f)
        );

        // スクリプトからSprite生成
        testSprite = new GameObject("TestSprite").AddComponent<SpriteRenderer>();
        testSprite.sprite = sprite;
    }

    void Update()
    {
        var distance = 10f;

        // カメラの前に置く距離に応じて、ワールド座標でのスクリーンサイズを求める
        // (distance +1f) の意味は、スクリーンサイズよりちょい大きめで画面を覆いたいから
        var worldScreenH = 2.0f * (distance + 1f) * Mathf.Tan(Camera.main.fieldOfView * 0.5f * Mathf.Deg2Rad);
        var worldScreenW = worldScreenH * Camera.main.aspect;

        // Spriteのサイズを調整
        testSprite.transform.localScale = new Vector3(worldScreenW / testSprite.sprite.bounds.size.x, worldScreenH / testSprite.sprite.bounds.size.y);

        // カメラの角度と位置をコピー、前に置くだけならforwardベクトルが便利
        testSprite.transform.position = Camera.main.transform.position + testSprite.transform.forward.normalized * distance;
        testSprite.transform.rotation = Camera.main.transform.rotation;
        
        // フェードとかさせたいなら、ここでαを調整
        testSprite.color = new Color(0, 0, 0, fadingAlpha);
    }
}

Gist - Unity Sprite on front of camera

こんな感じで、Spriteがカメラにくっついてきてくれます

忘れそうな自分へのメモ


[Unity] Unity用YEBISプラグインのお話してきました

たまには、仕事のお話を…
現在、Unityのプラグインを絶賛開発中で、わたしも少し関わらせて頂いてます

なんのプラグインかというと、ポストエフェクト処理がかけられる「YEBIS」というプロダクトのプラグイン化になります

今、ベータ版として期間限定のトライアルを出し中。。

あぁ、なんでUnityのアセットストアじゃないのかって…?

実は、「特濃!ゲーム開発塾5」というイベントでこのプラグインの話をしてきたのですが、ストアの申請が間に合わず…><
とりあえず、GitHub Pagesに置いてます
(なので、アセットストアに公開するまでの、期間限定サイトです)

ちなみに、イベントURLはこれ

岩手県盛岡市はIT支援がとても盛んらしく、こんなゲーム開発者向けのお祭りイベントがあるんですね~

わたしが参加した日程は 8月9日(火)
対象となる人はプログラマー、もしくはプログラムを将来仕事にしたい人向け
現在、DMM.comラボにてプロデューサをされている松本卓也さんがメイン講師をされました

わたしは30分ほどセッション時間を頂き、このUnityプラグインのお話をさせて頂きました
発表に利用した資料はこれです

ベータ版なので動作不安定な点がいくつもあるのですが、人柱的に試しても良いかなーという心優しい方は、トライしてみてくださいm(__)m

ちなみにドキュメントはこちら

トップは英語で書かれてますが、実は日本語のドキュメントしか今は無いです