Plugin license with and without Source/Runtime/Engine code

I am developing an editor only Plugin. As it stands right now I have not used any ue4 source in the plugin. If I sell this on any online store what terms/royalties will apply?

Secondly as it gets more complex. I wish to incorporate snippets of code from Source/Runtime/Engine folder cpp files into my own plugin code. What is Epic Games position on doing this? Will there be a royalty on the plugin sales? Is this even allowed?

From the comment by Canon Pence above it would appear code can be taken from Developer or Editor folders but restricts the sale of the plugin to the UE4 marketplace only. Does this apply to the Runtime folder as well?

And lastly some online stores allow Terms to be agreed to before purchase. If I ask a customer to certify that s/he is a UE4 subscriber before the purchase occurs will that satisfy the license requirements or we are still restricted to ue4 marketplace or github only?

You’ve asked a couple of questions so I’ll answer them in turn:

  • Are royalties owed on a plug-in that doesn’t use any UE4 source? - Royalties are owed on most revenue associated with a Product, which is defined as a product which incorporates the Licensed Technology (not the case in this hypothetical) or which is made using the Licensed Technology. My assumption is that this hypothetical plug-in was made using the engine, so royalties would still be owed (unless it was sold on our Marketplace, which is royalty free).
  • Can code snippets from the /Runtime/Engine folder be incorporated into a commercial plug-in? - You are correct that special rules apply to code from the Developer and Editor folders. In that case, the Product can’t incorporate that code at all unless it’s only distributed to other engine licensees. The Engine folder is different, but even still you can’t distribute source code to the general public. Standard engine code can only be distributed to the general public in object code form. If you are only distributing to other engine licensees though, you can distribute in source form.
  • How do you know if they’re an engine licensee? - The only guaranteed way I can provide to you to distribute to engine licensees is through the Marketplace and GitHub. Any other way, it’s your responsibility to ensure that they have the necessary rights.

Thank you for your quick response. Since this is a plugin for the editor it doesn’t make sense to distribute it to non ue4 subscribers. I just needed to confirm i can take snippets of code form the runtime/engine folder. That would greatly simplify development.

Just to confirm I could still sell the compiled plugin without the source folder on a 3rd party site without verifying if a customer is a ue4 licensee or not. If only snippets were incorporated from runtime/engine?

No - I’m saying the general rule is that source code can’t be distributed to the general public.

Can you be more specific about what source code you want to distribute and why?

I needed to compute bone transforms in the plugin. The function that does that is marked private. I could not call it or access it via inheritance, so I wanted to know if I can just copy it over to my class, However I worked out that computing bone locations is simply a matter of applying successive relative transforms in the correct order. I understand that now, so in the end I didn’t copy over anything.

I have taken a cursory look at GitHub API and it seems they have OAuth based authentication and a REST/JSON type query system. It should be entirely possible to query Github for access details on a customer as part of a shopping cart purchase process. I do not intend to sell the plugin to anyone but UE4 engine licensees. I only asked because I would need to build this system and it would be just one more thing that needs to be done.

Even if it doesn’t work out I intend to submit to the ue4 marketplace in any case.

So you’re not intending to distribute runtime/engine source code itself, just incorporate it into your plug-in (in an inseparable way), right?

If that’s the case it’s totally fine. Royalties are owed and you can distribute however you want.