Knowledge Base: What’s a Native Project?

Article written by Branden T.
Various tools around Unreal, such as UGS, BuildGraph, and Gauntlet, are simpler to use or only work with native projects. A native project is one that an instance of Unreal will recognize a…

https://dev.epicgames.com/community/learning/knowledge-base/eP9R/unreal-engine-what-s-a-native-project

3 Likes

Informative thread, i have a question on the UE4Games.uprojectdirs folder though. are we allowed to write …/ in addition to ./ to get the parent directory of the engine folder included as a native project as well?

There are benefits to using a native project, but having a game repo inside an engine folder with it’s own repo can have disadvantages which if we have the ability to move the project one folder out are largely resolved.

I thought it could be structured like this:

MyUnrealNativeProjectFolder
→ MyProject
→ Unreal5

At least that’s the way I have it… I certainly don’t want to nest version control projects within each other ( using engine source fork )

It can be. This is called a “Foreign Project” (probably documented someplace obscure) and can work out just fine.

However there are certain limitations when trying to work with other people because at least one Epic tool (Unreal Game Sync) doesn’t work with these sorts of projects. Also, because the binding of that project to that engine directory uses the registry it can be different on different computers (though you can mitigate this if you really want) which makes sharing the project through source control somewhat difficult.

My personal hobby projects are setup like this so that I can have one engine build used by multiple projects. However at my work we have it setup describing in the original post, partly due to limitations described, but also because at work we wouldn’t actually want multiple projects sharing the exact same engine instance.

1 Like