Skip to content

Unity 脚本生命周期

unity-script-lifecycle-system

零基础理解

Unity 脚本生命周期,本质是:你写一个继承 MonoBehaviour 的 C# 脚本,挂到 GameObject 上,然后 Unity 在合适的时间自动调用里面的一些特殊方法。你不用自己写 main(),Unity 会按阶段帮你调用。

最常用顺序可以先记这一条:

c
Awake -> OnEnable -> Start -> Update / FixedUpdate / LateUpdate -> OnDisable -> OnDestroy

Awake():对象刚被创建或加载时调用一次。适合做“自身初始化”,比如缓存组件:

c
void Awake()
{
    rb = GetComponent<Rigidbody>();
}

OnEnable():脚本或 GameObject 被启用时调用。它可能调用很多次。适合订阅事件、开启监听。

Start():第一次进入游戏循环前调用一次。适合做“依赖其他对象已经初始化后”的准备,比如读取 GameManager、初始化敌人状态。

Update():每一帧调用。适合输入、计时、普通游戏逻辑。注意不要把所有逻辑都塞这里,也不要每帧频繁 GetComponent()

FixedUpdate():固定时间间隔调用,主要服务物理系统。移动 Rigidbody、加力、物理检测相关逻辑优先放这里。

LateUpdate():在 Update() 之后调用。常用于摄像机跟随,因为角色先移动,摄像机再跟上。

OnDisable():脚本或 GameObject 被禁用时调用。适合取消事件订阅、停止监听。

OnDestroy():对象销毁前调用。适合释放资源、清理引用。

新手重点记住: Awake 负责“我自己准备好”,Start 负责“大家都差不多准备好了,我再开始”,Update 负责“每帧游戏逻辑”,FixedUpdate 负责“物理”,OnDisable 负责“收尾取消订阅”。

参考链接

文章评价

读完这篇,留下你的看法

暂无审核通过的评价。

登录账号后才能评价。

本站访客数0总站访问量0本页访问量0