Для плавности можно использовать Mathf.Lerp, о нём можно почитать тут:
https://docs.unity3d.com/ScriptReference/Mathf.Ler...
Про MonoBehaviour: при работе в Unity от него полностью никак не избавиться, ведь на объекты навешиваются только скрипты, класс в которых унаследован от MonoBehaviour. Есть, правда, ECS плагины (интересная штука, о ней можно почитать в гугл. От себя рекомендую LeoECS), но даже там для инициализации этого всего используется "бехевиор", так что, как было сказано выше, от него не избавиться