Just to get the best practice possible, but let's say I would like to make "Part" a variable, is it best to do local Part = Part.Name or local Part = tostring(Part)?
.Name. tostring
isn't necessary in most cases. They both work, however.
Generally i would prefer to use Part.Name instead of tostring(Part) for the same reason people use fori,v in in next, tbl do instead of for i,v in pairs(tbl). The reason is that Part.Name is shorter than tostring(Part), by 4 characters.
The second reason that I recommend Part.Name instead of tostring(Part) is because Part.Name makes a bit more sense than tostring(Part) . For Part.Name gets the name property of the part, and tostring(Part) converts an object into a string