I need to be able to import FBX during runtime. I read that since the UE4 Editor’s code for importing FBX to Static Meshes is classed as an “Engine Tool”, the EULA prohibits including it in a packaged game.
So I have just integrated the FBX SDK by hand into my project and started exploring how to use it. I am focused for now just on static meshes (animation may be down the road, but not for some time), so I have successfully built a function for bringing in an FBX file from disk as a Procedural Mesh Component at runtime. It’s by no means complete, and there are various things I’m trying to figure out how to do. It occurred to me it might be useful to look at the way the Editor does the same process, so I’ve started reading through FbxStaticMeshImport.cpp. There’s already a few useful bits and pieces in there that could be useful.
But then I suddenly got concerned and confused about the legal implications of this. I understand the EULA does not permit #including, for example, FbxStaticMeshImport.h in my project, but what is the situation with taking certain lines of code from some of these files?
What I am trying to achieve is to get arrays of vertex positions, normals, tangents, vertex colours, and materials from an FBX file and then use them to build a Procedural Mesh Component. So the end result is not the same (in the Editor it is to create a Static Mesh .uasset), but some of the steps along the way are similar. If I spend the next few days figuring this out from the ground up, I could end up with much code that is the same as used in the Editor anyway, though perhaps with different variable names. But the usage of FBX SDK functions would be the same.
The essence of my question is this: can I use code from an Editor file as a reference/inspiration for writing my own code? Does that violate the EULA? Since much of the code is going to be the same/similar anyway (since I am using a Third Party SDK for essentially the same steps as the Editor uses it), is such a thing even quantifiable?