Если вам нужно сделать проект быстро и есть деньги - стоит.
Если у вас есть деньги, но качество ассетов не устраивает - не стоит.
Если ассеты решают необходимые задачи - стоит.
Условий миллион, однозначного ответа как обычно нет.
1. Получить вектор направления танка.
2. Получить вектор направления пушки.
3. При повороте пушке проверять угол между направлением пушки и танком. Если он больше угла N, то не поворачивать пушку.
Сделал через eventSystem.RaycastAll, получаю объекты, если есть компонент кнопки, то происходит звук. Не удалось разобраться с eventSystem.currentSelectedGameObject.
Если правильно понимаю, то tm.text это тип string, а Random.Range(1,255) это тип int, и ты присваиваешь int к string. Попробуй так:
tm.text = Random.Range(1, 255).ToString();