Hello, currently working on team project where we have members of the team who don’t have any c++ profile (like artists and testers), but every time the pull from our Git repo, when they try to open the project it asks them to build from source manually, man of them don’t even have Visual Studio.
What would be the best practice, should I just remove the intermediate and binaries folder from git ignore, switch to another source control provider? Kinda stuck on this one.
Once a project is converted to c++ running it purely as a uproject file from the editor (and not the IDE) may cause c++ parent classes in blueprints to break. This will result in numerous errors when running the game in pie or standalone.
Yeah, but what would I have todo so that the artist can peacefully work in the editor without having to manually copile from source everytime they pull from GIT…
I’ve always rebuilt from the IDE. You can upload the intermediate, deriveddatacache and binaries to the git repo but this will cause the file size to increase dramatically.
The derived data cache can also interfere with the startup of the project as it is built on a per machine basis (shaders are compiled for a specific graphics card family that is in the target machine)
I wish it was as simple as just running the uproject file. In theory the engine should use the .generated.h files to run the project but the system seems in some areas broken and in others unstable leading to random problems with the project.
If anyone has better info then I would gladly see an easier workflow than running from the IDE.
I have been prototyping for many years now and this is one area where unreal is really lacking.
Only submit source code. Everyone needs to compile.
This can be rough on the non programmers, but the VS Community edition is free and you can write batch files to trigger the actual compiling. Or show them just enough to be able to run the Editor from the IDE.
Submit dlls and other binaries for use by non-technical team members.
This can work if you have 1 or 2 programmers and they are very disciplined. They have to be very careful to get latest and rebuild before submitting anything new. Otherwise you run the risk of features showing up and disappearing across syncs.
2a) If you have any sort of automated build infrastructure, you could compile and submit the binaries from an automated place. This would be safer, but is more involved and introduces lag between the technical and non-technical disciplines.
It starts with the automated builds from the 2a suggestion and layers on another tool called Unreal Game Sync. Unfortunately this option requires that you are going full hog and are using a source build of the Engine. But it does all sorts of good things for you like supporting binary syncing for artists, engine versioning updates, build status displays and other things.
It’s not trivial to setup and does require using Perforce instead of Git. But the info at that link is admittedly geared towards studios not more informal teams.