1.) It does! Having CollisionFidelity to default will give the object accurate collisions, which uses more client memory depending on its complexity, while box treats the part’s collision as if its just a regular part, which uses the least amount of memory.
2.) Unite? Like union? I don’t know what you mean by that. May you elaborate?
3.) Using a MeshPart instead of CSGed parts is more performant as far as I know. But in general, it depends. The more unique meshes there are, the longer it will take to load as all mesh data (texture and mesh id) are requested from the Roblox servers. The texture quality and triangle count are also factors.
4.) Depends. There are many factors to this. Such include your computer specs, how many parts have to be rendered onto your screen, etc.
5.) I think so? If i’m wrong on this, please correct me.
6.) Having a fully transparent part would not require Roblox to render the part, which is performant. I do not know the exact technical reasons as to this, but it has something to do with Roblox’s rendering engine. Having the transparency anywhere between 0 to 1 will cost more performance.
7.) ShadowMapping? I do not know the exact performance gain for this one. I think it should be optimized enough already.
8.) There’s so many ways. I suggest reading this for a good start.
Ah. No, there’s no performance increase. Unions use more memory compared to regular parts. I’d personally try to avoid unioning unless you really have to. Even if you do end up unioning, change the collision fidelity to Hull or Box if possible. Having some won’t hurt, but having too many may cause issues.