Unity 项目注意点总结 (持续更新)

Unity 中使用 foreach 遍历不会有 GC

直接传递函数的情况必然会有 GC, 无论传递的函数是否为静态函数

1
2
3
4
5
6
7
// 传递普通方法 Sum, 会有 GC
Launch(Sum);
private void Sum() { }

// 传递静态方法 Sum, 同样有 GC
Launch(Sum);
private static void Sum() { }

使用匿名方式传递函数, 则根据是否闭包决定有无 GC

1
2
3
4
5
6
7
8
9
10
11
12
13
// Sum 是闭包, 会有 GC
Launch(() => Sum());
private void Sum()
{
sum++;
}

// Sum 不是闭包, 无 GC
Launch(() => Sum());
private static void Sum()
{
sum++;
}

Unity 的 Git 仓库必须添加 RenameLimit 限制

1
2
3
4
[diff]
renameLimit = 1
[merge]
renameLimit = 1

Unity 的 Git 仓库必须添加 .gitattribute 配置

https://github.com/gitattributes/gitattributes

Unity 项目所在电脑必须设置开启 "Unicode UTF-8体提供全球语言支持"

Unicode UTF-8体提供全球语言支持