Натолкнулся вот на это:(ссылка)
Коротко: есть кнопки, и при запуске подписываются обработчики. Все хорошо, код абсолютно безопасен. Но он плох. Почему?
void Awake (){saveDirPath = Application.dataPath + "/Levels/";if (buttonSave != null) {UIEventListener.Get (buttonSave.gameObject).onClick += OnButtonSave_Click;}if (buttonLoad != null) {UIEventListener.Get (buttonLoad.gameObject).onClick += OnButtonLoad_Click;}if (buttonInputDialogOk != null) {UIEventListener.Get (buttonInputDialogOk.gameObject).onClick += OnButtonInputDialogOk_Click;}if (buttonInputDialogCancel != null) {UIEventListener.Get (buttonInputDialogCancel.gameObject).onClick += OnButtonInputDialogCancel_Click;}if (buttonselectLevelDialogClose != null) {UIEventListener.Get (buttonselectLevelDialogClose.gameObject).onClick += OnButtonselectLevelDialogClose_Click;}}
