[Unity] 關於 Component 的 GC 測試,出現了大問題! – Testing GC of Component in Unity

不久前才測試完了 Delegate 的 GC,雖然只是驗證了一個可以預期的結果。不過才過幾小時,我就想到類似的議題在 Unity Component 上,是否會因為 Component 特性而產生不太一樣的結果?

雖然本是要測試 Delegate,不過我同時也想驗證一下之前就發現的一個 Component 特性:自行移除相關參照 (Reference)

結果竟然在測試過程中有了額外發現,間接造成 Delegate 的測試無法進行下去… 所以文章便直接停止在 Unity Component 的 GC 測試。

componentReference

Read More »

測試如何在場景切換過程安插工作 – Testing Unity SceneManager Events

最近與朋友討論了如何在 Unity 切換場景完的瞬間,立刻執行某些特定工作。嘗試了幾個方式後,發現基本上是不可能的。不過如果要在Awake 之後, Start 之前進行某些工作,則可以利用 Unity SceneManager 類別底下預設的幾個事件 (Event) 來達成。

不過 Unity 官方文件對於 SceneManager 預設事件的說明可以說是沒有,所以還是得自行測試過才能確定功能。

Read More »

[Live] MonoBehaviour 機制說明與測試 – Testing MonoBehaviour Message

前幾天有場直播跟大家分享我對 Unity MonoBehaviour 的一些心得,花了一個小時左右跟觀眾討論一些在 Unity 開發時容易遇到的問題,以及一些零碎的小細節。

之後的一個多小時,則是閱讀 Unity 官方文件以及進行測試,目的是希望了解 Awake、Start、Update、OnDestroy、OnEnable 等 MonoBehaviour 事件(Message enent) 的執行細節。

直播紀錄與實驗紀錄如下:

2017/2/21 直播紀錄 (Unity 開發 | Monobehaviour 機制說明與測試)

Read More »

在 Unity 使用 Git Submodule/Subtree 的困境及應對 – trouble when using Submodule or Subtree in Unity

同為 Unity 專案之間,一定有許多方便且時常重複使用的程式碼,是加快開發的重要工具。如果能夠同時在所有專案都有一份這樣的程式碼,又有手段可以同時對每一分程式碼進行更新或修改就再好不過了,於是我們通常會想到利用 Submodule / Subtree 來管理專案。

不過因為 Unity 專案的特性,事情可能沒有那麼簡單容易。

在使用 Git Submodule / Subtree 來管理你的 Unity 專案之前,你應該先釐清 Submodule / Subtree 的特性其實跟 Unity 專案結構是有些衝突的。

subproject.jpg

Read More »

筆記 – Unity 中常用的 Attribute – Some Common and Useful Unity Attribute

Attribute 是 C# 的一個功能,更是在 Unity 中很方便的一個部分,可以用於強化 C# script 腳本與 Unity Editor 場景編輯器的互動。

善用 Attribute 可以讓 Editor 更方便的改動 Component 參數 (更加客製化的改動介面)、避開錯誤的參數設定 (超出數值範圍、不該改動的數值等),或者添加全新的功能在 Editor 中等。

本文紀錄許多我常用的、方便的 Attribute,皆是 Unity 內建,直接可以使用。

Read More »