ער מול התחל

כתיבה של API ב-Unity מספקת קבוצה של פונקציות אתחול.

פונקציות אתחול הן הפונקציות שנקראות בתחילת מחזור החיים של הסקריפט.

פונקציות אתחול ב-Unity הן 'Awake' ו-'Start'.

'Awake' לעומת. 'Start'

ההבדלים בין 'Awake' ל-'Start' הם סדר ביצוע ותנאי ריצה.

הפונקציה 'Awake' פועלת תחילה, ללא קשר אם הסקריפט מופעל או לא, והפונקציה 'Start' פועלת רק כאשר הסקריפט מופעל. שתי הפונקציות פועלות לפני השיטה הראשונה של 'Update'.

    void Awake()
    {
        Debug.Log("Awake runs first");
    }

    void Start()
    {
        Debug.Log("Start runds second");
    }

הפונקציה 'Start' יכולה להיות גם Coroutine (על ידי החלפת 'void' ב-'IEnumerator' והוספת פרמטר 'yield'), אבל הפונקציה 'Awake' לא יכולה.

    IEnumerator Start()
    {
        //Wait 1 second before running the next code
        yield return new WaitForSeconds(1);

        Debug.Log("Start");
    }

להסיר

שתי הפונקציות שימושיות למטרות אתחול (למשל הקצאת משתנים פרטיים, יצירת אובייקטים של משחק וכו'), ובשימוש בשילוב, הן יכולות לעזור ליישם מגוון רחב של תרחישים.