Open Source Code & Assets

I’d like to share on github ** my whole project**.

I read it is allowed to share my C++ source code but I do not understand if I can also share project files, my blueprints and other .uasset files generated by me using Unreal Engine (textures, fonts, …)
If not, how can I share them?

If in my project I also used a couple of assets from Unreal starter content should I remove them before publishing the project? (I think it’s not possible to redistribute them but I hope Epic will allow that soon. They still can’t be used without Unreal Editor)

Thanks

Hi Keru,

In order to get a proper answer for this, I would need a couple of things clarified. Are you sharing this project with other UE4 developers rather than the public? If so, then you are fine to share all of your assets and code.

If you intend to share with people who are not already subject to the Unreal Engine 4 EULA, then that would not be allowed. Please let me know if that helps to clarify and if you have any other questions.

I’d like to share my code and also my project stuff with.
I want to set my repository privacy to public and reference it from a publication.
What can I public and what I can’t of those things I above mentioned in my question?

You cannot publicly share UE4 Editor source code, nor the content that is provided with it.

You can share a packaged product that you have made in UE4, but not any of the engine assets or default content.

Here is an except from the EULA that covers the subject:

Restrictions on Distribution and
Sublicensing

You may not Distribute any Licensed
Technology except as follows:

a. Distribution to end users - You may
Distribute the Licensed Technology
(including as modified by you under
the License) incorporated in object
code format as an inseparable part of
a Product to end users who are subject
to an end user license agreement which
explicitly disclaims any
representations, warranties,
conditions, and liabilities related to
the Licensed Technology. However, the
Product may not consist of or contain
any Engine Tools (i.e., the Product
may not Distribute or statically or
dynamically link against modules in
either the Developer or Editor source
folders) nor provide functionality
allowing the creation of standalone
products utilizing the Licensed
Technology.

Continued:

b. Distribution to other licensees -
You may Distribute Engine Code
licensed to you under this Agreement
(including as modified by you under
the License) in Source Code or object
code format, or any Asset, to an
Engine Licensee who has rights under
its license to the same Version of the
Engine Code or Asset that you are
Distributing. You also may Distribute
an Asset to an Engine Licensee who is
your employee or your contractor
regardless of whether they have rights
under their license to the same Asset,
but only to permit such Engine
Licensee to utilize such Asset in good
faith to develop a Product on your
behalf for Distribution by you under
the License, and not for the purpose
of Asset pooling or any other
Distribution or sublicensing of Assets
that is not permitted under this
Agreement. Recipients of such
Distribution have a limited license to
use, reproduce, display, perform, and
modify such Asset to develop the
Distributing Engine Licensee’s Product
as outlined above, and for no other
purpose. Except as described in this
section, you may not Distribute a
Premium Asset to an Engine Licensee
unless that Engine Licensee has
purchased a license for the same
Premium Asset.

Please let me know if that clarifies it for you or if you have any questions.

Thank you for your patience.

So I understand there is no way to distribute any kind .uasset file.

About Blueprints, is there any possibility to share any other representation of a Blueprint? Is there any kind of XML description of the logic (graphs and default values) that can be released or screenshots are last ?

You can share a Blueprint .uasset publicly as long as it does not also include starter content (materials, meshes, audio, etc) and only your own custom creations without anything Epic has provided.

You can also share blueprints by copying all of their nodes and then pasting them as text. That is a feature of Blueprints; They can be copied and pasted as text and back to blueprints again.

Ok, because I still have questions:
Can I provide patches (text diff files by line) for engine modifications?
e.g say remove line XX in that file, add this line with that text in this file.

Are they accessing full source or just some ini files? If they can alter a config file instead, then that is fine. What is not allowed would be if you are asking your players to open up C++ files in Visual Studio to implement the patches. If you can give me more details on exactly how your patches would work, I can get the proper answer for you.

One question: if it isn’t forbidden where is all OpenSource games (without default content)?
Have you seen anything like that?

What about that:

When you generate revenue from a
Product or Distribute it to end users,
you must provide Epic with advance
notification at
Richtlinien für die Veröffentlichung und Lizenzgebührennachverfolgung - Unreal Engine, as early as
reasonably possible, including the
name of the Product, the format of
distribution, unique Product id (where
applicable), and the distribution
channel(s).