こんにちわ、Unityエンジニアのオオバです。

UI開発の悩みポイントの1つ
「ボタンのつくり方」

なにが正解なのか迷いますよね。
しかもボタンはアプリの中で大量に存在します。

はじめの一歩をまちがうと、あとで大きな修正が発生するかも...と思いますよね?
はい、大規模改修が待っています(経験済み)

「なんとなく動くからこの方法で行こう」
このような、いきあたりばったりな考えでは、
あとで大変なことになります。

「じゃあ、どうすればよいの?」

そこで本記事では 「良くないボタンのつくり方」 を1つ紹介。
UI開発歴約12年のオオバの実体験をベースにしています。

ボタンは一歩まちがうと沼。沼と言うか地獄。
落とし穴にはまらないよう開発していきたいですよね。

ここまで読んで、エンジニア向けの話っぽく聞こえますが、
実はUIデザイナーにも知っておいてもらいたい知識です。

クオリティを上げる部分に時間を使いたい、
ボタンに無駄な時間をかけたくない人は
ぜひ最後まで読んでみてください。

Unity標準ボタンの使用禁止

結論は「Unity標準ボタンの使用禁止」これだけ。
これだけで大丈夫。

簡単にまとめるとコチラです。

結局、独自のボタンを作ったほうが良いという判断になっちゃうんですよね。

では具体的にどのような理由で
Unity標準ボタンを禁止すべき なのかを解説していきます。

機能最小限のUIボタンを必要とするケースはごくわずかで非効率

👇スマホゲームで使われるボタン機能は最低でも約5種類。

ゲーム規模問わず このくらいの機能は、
デフォルトで必要そうですよね。

👇Unity標準ボタンは約3種類。

ここがUnity標準ボタンを禁止する最大の理由です。
ゲーム開発は仕様変更がよく発生します。

このような感じで修正が発生するたびに作り直す、
追加開発するのは非常に手間です。

つまり想定されうる最低限の機能は
最初から実装しておく方が効率的なのです。

また最初から実装できなくとも、
機能拡張しやすければOK。

つまりプロジェクト独自のボタンを作っておくことをオススメします。
今後の開発を楽にしてくれるでしょう。

ところがUnity標準ボタンの場合、機能拡張がしづらいのです。
ボタンとは別コンポーネントを用意することになります。

つまり今まで大量に作ってきたボタンPrefab全てに
新たなコンポーネントをつけていくということです。
修正は非常にめんどうくさそうですよね。

繰り返しになりますが、
スマホゲームに対する最低限の機能を満たせていない
そして 機能拡張しづらい という点で
Unity標準ボタンは使用禁止です。

【致命的】UIボタンアニメーションを使い回せない

Unity標準ボタンを禁止するもう1つの理由が、
ボタンのアニメーションを再利用できないこと です。

Unity標準ボタンで、
複雑な演出をつくる場合、AnimationClipを使います。

AnimationClipとはUnity標準のタイムライン形式アニメーションツールです。

UIボタンをつくるときUnity標準ボタンは使用禁止_0

オオバも凝った演出をつくるときには
AnimationClipをよく使います。

ただ落とし穴が1点。

AnimationClipを使い回す場合、
GameObjectの階層をそろえる必要があるということです。

ボタンのの構造が全くちがう参考資料

UIボタンをつくるときUnity標準ボタンは使用禁止_1

この制限はかなり大きい。
1つのアプリの中で、さまざまなボタンをつくることになると思います。
その全てが共通の構造にはならない ですよね。

つまりUnity標準ボタンを使うと、
大量に存在するのにアニメーションを使い回せないということです。

非常に辛い。大量のボタンアニメーションを
ひとつずつ作ってられないですよね。

以上の理由からUnity標準ボタンを採用する必要はありません。

👉 年収UP率93.8% / 平均年収UP額126万円のエンジニア転職サイト【転職ドラフト】

まとめ : Unity標準ボタンは使わず独自のボタンを作りましょう

記事の内容を簡単にまとめます。

こんな感じです。

Unity標準ボタンを
ディスっているように聞こえますが、違いますよ。

簡単な検証やデバッグメニューをつくるときには重宝します。
あくまでプロダクトには使えないかなという意見です。

実際に経験したことですが、
プロジェクト後半、ボタンアニメーションの
クオリティアップをする場面のことです。

提示されたアニメーションを実現できなかったため、
大量のUnity標準ボタンを
独自ボタンに置き換えた経験が 何度かあります

オオバ
オオバ
大規模改修経験は一度じゃない

最後によくある2つのケースを紹介して記事を締めますね。

ケース1 : モック開発中のボタン

モック開発中、手抜きしてUnity標準ボタンを使うことはないですか?

それ 黄色信号 です。

最初から最低限の機能を実装した独自ボタンの利用をオススメします。
(最低限の機能とはタップ判定だけでもOK)

結局、置き換えることになりますし、置き換え漏れも発生するからです。

ケース2 : UIデザイナー主導でPrefabを構築するケース

プログラミング知識をあまりもっていないUIデザイナーの場合、
「Unityが提供するボタンだから大丈夫」 と思いがち。

まんまとUnity標準ボタンを使っていませんか?
あとから時間をかけて置き換えることになるかも 知れませんよ。

冒頭でUIデザイナーの方にも読んでほしかったのは、
まさにここでございます。お気をつけを。

この記事を読んでくださったみなさまが、
安全にUIボタンを開発できることを祈っております。


Unity初心者、UIデザイナー向けの発信をTwitterをやってます!
ぜひフォローしてみてください!
👉フォローはこちら!

YouTubeも始めました!!「Unity初心者大学」
チャンネル登録お願いします!

最後まで読んでいただきありがとうございました!
すばらしいUnityライフをお過ごしください。

オススメ記事
検証環境