Am developing an Unity game where I require the functionality of this tool (which is written in Unity itself) at runtime: https://boundingboxsoftware.com/materialize/ It essentially processes images/textures. Speed is not upmost concern.
Correct me please if I'm wrong, but due to the licence, I cannot simply include the code as part of the game but I have to make it independent and "replaceable" so that the game itself does not need to fall under GPL as well.
Have thought of the following approach:
- Strip that project off its UI and make it a headless Unity application (normally used for server backends) with a command line interface. The command inputs would be the path of an input image file, and output images as well as params.
- Pack this executable as well as its sourcecode (under GPL) with the game (which has a different licence).
- In the actual game, when the functionality is needed, write out the texture to an image file, launch the external executable and read in the produced new textures.
This means anyone can take that sourcecode and compile a new headless Unity executable. Therefore would this be a way to comply with the copyleft licence?
An alternative that comes to mind is to compile the functionality as a pure C# DLL and provide the sourcecode of that with the the game. However while surely smaller filesize, that adds headache for the intended Windows, Linux and Mac cross compatibility. Any other viable approaches?