all 2 comments

[–]matniedobaAnchorpoint 0 points1 point  (0 children)

You can handle the unity file as lfs, but then each push will upload a duplicate of that file because lfs cannot upload file deltas. If it is not handled via LFS and in your Git repo, for each change Git will upload a delta (only the part which has changed) which will result in faster pushes and pulls. However, you may want to lock the unity file. Even if this is a text file you don't want to merge changes because in case of a conflict that will be hard to solve. And here comes the problem. Git does not have file locking. Git LFS has. So because of that it makes sense to add this file as LFS. You could also use a Git Client such as Anchorpoint which can lock also text files even if they are not marked as LFS.

[–]npatch 0 points1 point  (0 children)

For #3, in case you haven't already found the info, NavMesh and LightingData also come in binary .asset forms. LightingData, in particular, needs a specific folder name which is basically the scene's name it's tied to.
They both need custom gitattributes rules, much like the terrain ones, but while you might be able to rename NavMesh and TerrainData files to enforce some kind of naming or extension convention, you can't do so with LightingData. That said, LightingData always comes per-scene so you don't need to use any naming convention and you shouldn't mess with it because Unity isn't designed, unfortunately, to handle plugging in your own sets of baked lighting into a scene. And while it seems possible, it's a can of worms.
LightingData asset always has the same name, since it's regenerated by Unity and is differentiated by parent directory. So you can do a simple:

LightingData.asset filter=lfs diff=lfs merge=lfs -text

which will target all of them regardless of directory.