Legal aspects of modified UE algorithms

Hi everyone!

Lately I’ve been working on implementing procedural slicing of skeletal meshes and got a working prototype. I would like to share my results with the community when they are ready, and possibly provide a plugin, but not sure if my current implementation violates any legal requirements. I would really be grateful if someone could help me determine that.

The code in question lives in the following file: Source/Playground/Private/MeshSlicing.cpp · main · Nikolay Lunyak / Skeletal Mesh Slicing · GitLab, and here’s how it was written: I copied the engine code for the SliceProceduralMesh function and gradually adapted it to work with skeletal meshes. This includes:

  • adding logic for generating arbitrary number of resulting meshes
  • adding logic that traverses the skeleton in order to determine the components of the skeleton graph
  • adding logic that extracts and then accurately preserves the weight information for the mesh vertices
  • adding logic for instantiating USkeletalMeshes at runtime
  • modifying the cap section generation logic to account for the new scenarios
  • etc.

So, in some places there’s purely my code, and in others it may be the Epic code modified ever so slightly. Like the code for triangulation: it’s modified to operate on my custom structs for vertices that contain additional weight-related information, but that’s it.

So am I allowed to distribute such code? Should my modifications be considered allowed and significant enough so that this code belongs to me, or I should still go and completely rewrite every single character that was copied from the engine? Or should I only rewrite some specific functions that have not been “reworked enough”?

I’m writing this code mainly for educational reasons (I saw some discussions about slicing skeletal meshes, had an idea how I could implement it, and decided to give it a try), but it would also be nice if I could make a YT video explaining the algorithm details and possibly push a plugin to the marketplace (the original code from the mentioned repository would be available for free in either case, but I would like to provide a plugin with a small fee in addition to it).

By giving the above link I am, in fact, distributing the code, but at this point I am not encouraging anyone to use it or stating that I have all the rights to do it. Unfortunately I didn’t find an option to contact Epic directly with this question.

Also, here’s the small video of the current prototype, just to make it clearer what I mean by “procedurally slicing skeletal meshes”: Playground [DebugGame] - Unreal Editor 2023-12-10 16-13-43.mp4 - Google Drive

Hey @luna_koly! Welcome to the Forums!

All content should fall under the EULA. It is highly suggested that you go over this with your own legal council and Unreal Engine Support to ensure that you are in the clear for your use case, as it will be difficult to impossible to get legal clarifications through the forums:

Good luck with your code!

Thank you for responding so quickly, Quetzalcodename, as well as for sharing the UELA link!

Do you know if it’s possible to contact Unreal Engine Support and if yes how one could do it? As far as I can see, there is Unreal Developer Network, but it’s only available to UE custom licensees and Unreal Enterprise Program participants. Is it the only way?

Hey @luna_koly,

Unfortunately, I do not know any way other than the standard means you listed.

I see. Thank you!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.