In 4.15, I noticed that if you re-import static mesh that it will remove all sockets.created for it. Is there a way to disable this? Is this a bug? I would imagine that sockets should remain at their previous locations since they are just XYZ locations based on the static mesh.
Any sockets that you create or alter in the Unreal editor will be overridden if you re-import a mesh. Basically, the import overwrites the file and replaces whatever was previously there. Create/Make socket changes in the Unreal editor if you think you won’t have to reimport many times. Otherwise, make your socket changes in Max/Maya/etc.
I’m not an artist, but one of our artists had found a nifty feature with Unreal 4. Whatever he was using as socket locations in 3DS Max (dummy bones, I think?), he could add SOCKET_ in front of the name and when the mesh was imported, a socket would be created there with the name (except that the import process kindly removes the SOCKET_ in front of the name). So, for example, if he imported a mesh from Max that had SOCKET_Left_Hand and SOCKET_Right_Hand then in Unreal, the static mesh would end up with sockets at the appropriate locations called Left_Hand and Right_Hand. One additional note to make is that if the mesh is imported as a skeletal mesh, it keeps the full name for bones, so the SOCKET_ isn’t removed, and furthermore, it adds Socket to the end of the name of sockets.
Lastly, in case it matters, we’re using version 4.9 and not 4.15, but I imagine that nothing has changed in these regards between versions.