ok made some progress.
I found the following in the crashlog
<ErrorMessage>Assertion failed: (Index >= 0) & (Index < ArrayNum)
Array index out of bounds: 12 from an array of size 12
</ErrorMessage>
So I changed the vex to pass vector4 instead of vector and it sort of works. The last issue I have now is any value I put into the vector4 is translated to 180. I have tried 1, -1, 180, -90, 90, all get entered in unreal as 180. All of the zeros stay zero. I am going to search to see what I have to do to get correct rotation value (if anyone knows please let me know)
void CreateSocket(string socketName; vector position; vector4 rotation)
{
int handle = addpoint(geoself(), position);
setpointgroup(geoself(), 'socket_room', handle, 1);
setattrib(geoself(), 'point', 'unreal_mesh_socket_name', handle, 0, socketName);
setattrib(geoself(), 'point', 'rot', handle, 0, rotation);
}
addattrib(geoself(), 'point', 'unreal_mesh_socket_name', '');
addattrib(geoself(), 'point', 'rot', {0,0,0,0});
CreateSocket('Socket_One', {0.0, 0.0, 2.0}, {0, 90, 0, 0});
CreateSocket('Socket_Two', {0.0, 0.0, -2.0}, {0, 0, 0, 0});
CreateSocket('Socket_Three', {-2.0, 0.0, 0.0}, {0, -1, 0, 0});
CreateSocket('Socket_Four', {2.0, 0.0, 0.0}, {0, 1, 0, 0});