J.J. re: your AddUnique issue - you’re probably going to have zero success using floating point values this way. Personally my mesh resolution needs are fairly low so I store all vert locations as a struct of 3 uint8s and have my VertexFactory submit them with VET_UByte4N. This has a nice little side benefit of allowing me to use vertex position as the key for a TMap of vertex data structs.
If you’re willing to delve into C++ you might try using the FInt3 struct from BrickGrid here: https://.com/AndrewScheidecker/BrickGame/blob/master/Plugins/BrickGrid/Source/BrickGrid/Classes/BrickGridComponent.h, and flooring your FVector positions into those, and storing/comparing them that way (you’d need to convert them back to FVectors for submission to the ProceduralMeshComponent function, of course). It may be possible to pull off something roughly comparable in pure Blueprint, but I’ve never tried.