画面に表示されているオブジェクトにマウスを当てると、オブジェクトの色が変わるスクリプトを作ってみた
マウス位置のレイを投げるスクリプト(RayCast.cs)を空のGameObjectにアタッチする
オブジェクトの色を変更するスクリプト(ChangeColor.cs)を対象のオブジェクトにアタッチする(ここではCubeのPrefab)

画面に表示されているオブジェクトにマウスを当てると、オブジェクトの色が変わるスクリプトを作ってみた
マウス位置のレイを投げるスクリプト(RayCast.cs)を空のGameObjectにアタッチする
オブジェクトの色を変更するスクリプト(ChangeColor.cs)を対象のオブジェクトにアタッチする(ここではCubeのPrefab)

各イベント関数(Start,Awake,Update,FixedUpdate,LateUpdate)がそれぞれどのタイミングで呼ばれるのか確認してみた
ログを確認した結果
フレーム毎の処理はUpdate,LateUpdateを使用
物理挙動毎の処理はFixedUpdateを使用
という形で明確に使い分けた方が良さそう…?
太陽を動かすには配置されているDirectional Lightを回転させるだけで実現できる

まず、Create > UI > Canvas でCanvasを生成
その後、Canvas以下にCreate > UI > Button でButtonを生成


Button以下のTextのTextコンポーネントの文字列を変更

画面左下にボタンが表示される

ボタンが押されると、Time.timeScaleを変更するスクリプトを作成
作成したスクリプトをButtonオブジェクトにアタッチして、ボタンを押した際のイベントを設定する
ここでは作成したPauseButtonのonClick()を指定

実行中にボタンを押してみると、ポーズ状態になっている
しかし、フレーム自体は経過している為、フレーム毎にオブジェクトを生成したり動かしている場合は処理が動き続けるので注意

Destroyで対象のオブジェクトを削除する
上記のスクリプトは一定の位置まで落ちたオブジェクトを削除している
