My apologies, you're right about the info_overlay parsing, and the UVs should be correctly read passed through as floats in the 4.21 build.
Unfortunately, I can't release the source for the lib, and don't really have much time to do active development these days, so I don't see myself doing any major refactor work.
Would a basic thing for unknown entity types (or a separate array for all of them) that'd be a hashset or something that you can parse yourself on the UE plugin side work?
That's a little dissapointing, but understood. The entity thing is of much more concern for myself, and the simplest solution that I can see would be just adding an std::map<std::string, std::string> of every actual entity key to BaseEntity or something, even if you leave the default parsing that does the MapEntityType, then I can just intercept it in MapFileLoader::ImportIntoWorld, to read the original keyvalue for custom entities, and their values, by simply using GetEntity(x), and then looking at the KeyValue map for the original classname. (I noticed that all unknown ones end up falling under the static prop type as well, and the classname in BaseEntity appears to get overridden, I had actually tried to read that when I was first trying to parse custom entities, but ended up modifying VMFTweak to just convert everything to prop_static with a custom targetname ie: prop_dynamic_originaltargetname, or ropestart_xxx, ropekey_xxx) Which, works, and allows me to replace the actors post-import, but I'd prefer if I can just create the proper actors at import time, especially for some more complicated custom ones)
Thanks, and I really appreciate this!