Skip to content

Proposal to remove server setting dependency on "Development Mode" of Unity #1

@mhama

Description

@mhama

こんにちは、お世話になります。AssetBundleGraphToolのほうのパッケージからAssetBundle Managerを利用(調査)していますが、気になることがあり、こちらから失礼いたします。(こちらのものがAssetBundle GraphToolに含まれるのですよね?)

Development Buildがついているかどうか (DEBUGマクロがあるかどうか)でサーバー設定を切り替えるコードがありますが、これは削除したほうが良いのではないか、という提案です。

https://github.com/hiroki-o/AssetBundleManager/blob/1.3/release/AssetBundleManager/Settings.cs#L130-L139

具体的には、上記の #elif DEBUG の部分を削除し、DevelopmentBuildSetting まわりをコード全体から削除するということです。

なぜかということですが、以下のようなことがあったためです。
AssetBundle GraphToolおよびAssetBundle Managerを組み込んだUnityプロジェクトにうまく動作しない箇所があったため、ビルドしたプログラムをデバッガ接続しようとしました。"Script Debugging" オプションをONにするために、もともと非Development BuildだったものをDevelopment Buildに切り替えてビルドしました。そこでデバッガを動かしていましたが、まるで異常な動作となっていて、しばらく理由がわかりませんでした。最終的に、AssetBundle Managerの読み込み先が切り替わっているために、全く異なった条件でデバッガを走らせており、デバッグとしては全く意味をなしていないことをしていたということがわかりました。これによってかなり時間の浪費となりました。

個人的感覚としては、Build Settingsのウィンドウで "Development Mode" のチェックをONにするときに、AssetBundle Managerの設定が切り替わることを意識するのは非常に難しいことにように思われます。AssetBundleにかかわりのない部分を触っている開発者ということもありえます。

現状、ABM Control Panel内に、複数のサーバー設定を登録し、それを切り替えるUI が存在するわけですので、基本的機能としては、この機能を利用して切り替えればそれで十分ではないかと思います。それ以上が必要なケースでは、複数の環境に対応してもろもろの設定を切り替えるコードを自前で用意するというのが適切な選択肢になると思います。

また、別途、どのような設定で動いているかをconsoleに表示してくれると助かるようにも思います。

よろしくお願いします。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions