I’m trying to determine which build configurations are needed to be built in order to supply my artists with a workspace that doesn’t require source code. I’m looking for the definitive answers to a bunch of questions (some may appear to repeat, but are helpful in context) because I’m getting confused by the documentation which seems to want to describe some abstract concepts instead of where/when you should be using these various configurations.
So what are the definitive difference between the various build configurations for development: Development [empty], Development Editor, Development Client, and Development Server? And when should they be used?
In the documentation, it states that…
[empty] builds a stand-alone executable, but requires cooked content - when is this ever needed to be built within VS? Assuming my artists don’t have the source, do I need to provide the built stand-alone executable to allow my artists to launch or package? Is the editor able to package without the source code on the artists’ computers?
Editor builds are needed for opening a project in Unreal Editor - is this sufficient for normal editor play view/standalone? What about launch or package?
Client/Server is never specifically addressed, but in it’s place it mentions Uncooked configurations. Uncooked builds are “equivalent to Play in > New Window at Default Player Start in the editor”. Does this mean that they are required for the artists to play from within the Editor?
What are the minimum build configurations and projects needed to be built to supply my artists with non-source workspaces? Is my project only needed to be built? Or should I be building other projects within the solution? If so which?
I’ve seen other people ask similar questions - hoping we can create the definitive FAQ with this post. If you only know the answer to just one of my questions, please respond and add to this thread.
Build have 2 parts which you can combine, there also some hiddden options you can set in build script
First part:
Development - build that is used for
devlopment, you can debug with it but
there might be some memory reading
variable reading problems on debug
Debug - Build with a lot better debug
symbols setup, you should use that if
you plan to debug C++ code
DebugGame - not sure what that is but
probably other variant of debug build
Shipping - Build ready for
distribution without any development
stuff
Test - Test build which has extra
utilities for testing
2nd part:
nothing - With client and server code, without editor
Editor - With everything
Client - Without editor and server
code, client only, with this build
user wont able to set up server
Server - Without editor and client,
in other words dedicated server
build, but note that other builds
(except “Client” ofcorse) can
function as dedicated server too
For artist you should use what launcher build is, which is “Development Editor” or even “Debug Editor” if you want.
Also you can make them use laucher build if you not modifying engine, you can set up VS in there computers (via TeamViewer for example) and teach them how to pull from repository (using simplified tool like TortoiseGit) and how compile the code, i teached artists i work with myself and they don’t have any issue. You can even make a bat that compiles the code. Executing this:
X:\UE4\UnrealEngine\Engine\Build\BatchFiles\Build.bat ProjectName Win64 Development "%CD%\ProjectName.uproject" -rocket
Will compile the code without turning on VS, i think UE4 also detects changes of code and ask to recompile (but not always for some reason
Thanks for your response! Debug builds make sure that both the engine and game code are built with debug enabled. DebugGame builds make sure that only the game code is built with debug enabled and the engine code is built with debug disabled.
I’ve been able to get my artists and producer a build that doesn’t require that they build the code, but that only appears to consistently work if I build all 4 configurations (empty, Editor, Client, Server). I’ve been try to figure out which configurations are actually needed (I assumed Editor only would work but that was insufficient), but have trouble getting reliable results as older builds get overlapped which have been affecting the accuracy of my tests. I was hoping others (Unreal Staff?) would simply already know what is most appropriate.
Also, do you (or anyone else) know if I need to build all the tools or just my project (and dependencies)? Or is UE4 sufficient? Or is both UE4 and my project required?
Right now I’m building all projects and the 4 configurations just to update the binaries on source control so that my artists and producer can run the editor and launch/package without issue.
Looking at the configuration manager in VS, DebugGame builds both game and engine with debug, whereas Debug builds everything (including tools such as Lightmass and Pak) with debug.
Realize this is an old thread, but thought it worth mentioning that source control typically isnt great with binaries, a file share or repository would be a better option
Just want to add for strangers who will read this post about difference about Debug and DebugGame
Debug is debugging even Engine`s code like TArray, AActor or even you custom code in engine if you modify it. So if you need to check some data inside this code you should use Debug configuration.
DebugGame is faster and allow you to debug only your project`s code, because there is no need to trace everything what happens inside editor.