What files do you share with an Artist, C++

This is a workflow question. Sorry, this seems basic but I don’t understand what files are needed yet. I’m coming from a UE3 and UDK background where I would make Artists recompile scripts at load when there where changes ( which probably is bad form ), but I think it’s too much to make an Artist install Visual Studio and potentially deal with build errors.

For a simple example. If two people are developing one game and one is doing the programming and the other only doing work in the Editor how do you set up the project for the Artist, what files do they need to get updated on code changes and what file types should be ignored for the Artists perforce checkout?

Do there need to be two builds? One for programmers, and a separate one for artists to work on?

It’s my understanding that VS needs to be installed to work on a project with C++, can the Artist open the same project without VS installed. Are there binaries that are to be shared, or does the Artist also have to recompile when the programmer makes changes?

1 Like

Visual Studio does not need to be installed to work with a C++ project, it just needs to be installed to create or build one. All artists need is the Development Game binaries (found in ProjectFolder/Binaries/Win64). There is one DLL and one PDB in this folder for every module in your project (often you only have one module named after your project). Since you are a small team, you probably don’t want to bother with a build and promotion system, so all you need to do is have one of your programmers build and check in those binaries periodically. There is no need to check in debug binaries, as artists will use the development ones and programmers will build their own.

Typically, all you will need to check in is Binaries/Win64/RocketEditor-MyProject.dll and .pdb. The pdb file is optional, but if you don’t check it in then you wont get callstack information when a crash happens.

1 Like

Also, artists do not need the Source folder if they will never be compiling code.

Thanks for the answer, sounds straightforward.

This is an old thread but I wanted to ask about the pdb file. Does the UnrealEngine editor load these symbols or does it require VS to be attached to the process?

I believe it loads them or creates them whenever the .uproject is opened.

Hey there, I know this is so old but I still dont completely understand everything. If you have a project made with the source engine version, is it possible for artists just to have the binary version downloaded from the launcher for example and still be able to work on the same project?

That depends on the source you are building from. If it’s based on a tag like “5.1.0-release” the artist should be able to open the project in the launcher version. That implies your branch only has trivial code changes that do not impact asset (de-)serialization.

Thank you for the quick reply. Do you mean that do not impact assets associated with the engine? I’ve created a blank FPS template game from 5.1.0 to do some perforce testing. So I uploaded it to the perfroce depot and gave another user access to the depot. On the other users machine installed only binary version from launcher but we had trouble to open it. First was the generate project files window which I think is normal but after other windows popped up mentioning .NET or to try compile from source. But isn’t the whole thing about not to compile anything from the artists side of perspective? In the perforce depot there is also the binaries folder from project directory which I thought would have been enough. After installing different .NET packs and also Visual Studio 2022 it worked for another test with github but still not with perforce. I just installed VS and compiled nothing. I also read about the precompiled binaries engine but isn’t this the same like downloading from launcher as long as the version is the same? I find it incredebly difficult to find proper information about that topic explained in an easy way. Do we only need to provide a precompiled version of the engine for artists if we change something in the engine source? Do artists also need all the .NET packs? Do artists need to have VS installed? Another question which arises is how to update when switched to a newer engine version? Should communication lead the artist to get the new version from launcher while the programmers have updated to newer source version (assuming nothing gets changed in engine source code)?

Yes, precompiled binaries is what you get from epic launcher.

Depends on what you change. If you change anything that affects how the editor behaves within artists’ workflow, then probably yes.

Yes but those should be installed automatically when artists install the engine version from launcher.

Yes pretty much.

I don’t know much about Perforce so maybe there are rules to exclude binary content or something like that. Make sure the binaries received by the artist after checkout are proper. As long as all necessary binaries are provided there is no need for source code or visual studio at all.

One thing to note, after checkout, artists might have to fixup the project engine association. Right click on the .uproject file and Switch Engine Version → select the right version (downloaded from launcher).

This is what I added in our .gitignore to auto commit binaries so artists can pull whenever they want and launch editor without compiling. I’m by no means a gitignore ninja so this could be flawed, but as far as I’m aware it does seem to work :

Binaries/*
!Binaries/Win64
Binaries/Win64/*
!Binaries/Win64/YourGameEditor.target
!Binaries/Win64/UE4Editor.modules
!Binaries/Win64/UE4Editor-YourGame.dll
Binaries/Win64/*-[0-9][0-9][0-9][0-9].dll
Plugins/*/*
!Plugins/*/Binaries
Plugins/*/Binaries/*
!Plugins/*/Binaries/Win64
Plugins/*/Binaries/Win64/*
!Plugins/*/Binaries/Win64/UE4Editor-*.dll
Plugins/*/Binaries/Win64/*-[0-9][0-9][0-9][0-9].dll
!Plugins/*/Binaries/Win64/UE4Editor.modules