Hello! I have been trying for 3 months now to get a clean unreal engine source build running in my perforce server so my friends and I can make a game together. We want the unreal engine source included so we can make changes to the engine as needed.
We are having an extremely hard time trying to get our .p4ignore and p4 typemap just right. Either we include too much, or not enough, back and forth, hundreds of exceptions, problem after problem to wade through. we’ve tried dozens of .p4ignores found online, dozens of p4 typemaps - none of them work out of the box. When they don’t work out of the box, we try to edit them to make them work but there’s no end in sight to the sea of problems that each one has. Eventually we nuke it all and start fresh again with a fresh engine build and a new .p4ignore and p4 typemap that look promising.
Can you please help us figure out where we are doing wrong? It’s wild how hard this stuff is just to get set up right.
Just for some extra context - let me know how far off I am. When I get a fresh engine build and put it in a fresh p4 workspace, I run setup.bat. When that finishes, I reconcile offline work and check everything in. Then I generate project files. Then I reconcile work again. Am I right in saying that nothing should be found to reconcile after generating project files? Then I compile the engine. Then I reconcile offline work. Should it find files here to reconcile or no? I sync all revisions on a new workspace on another computer. Then I run generate project files. (shouldn’t need to run Setup.bat again right?) then I try to compile. (actually usually we don’t even get that far because running generate project files on the second computer will run into tons of issues. Either files that should be writeable but aren’t, missing files, or files that are checked in but shouldn’t be.)
What p4 typemap paired with what .p4ignore do you recommend?
Thank you for your time.
Here is an example of the latest errors we are getting out of trying to generate project files on the second computer:
C:\Program Files\dotnet\sdk\5.0.408\Microsoft.Common.CurrentVersion.targets(1967,5): warning : The referenced project '..\Shared\EpicGames.Build\EpicGames.Build.csproj' does not exist. [C:\GameDev\WSNuNuLappy2\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]
C:\Program Files\dotnet\sdk\5.0.408\Microsoft.Common.CurrentVersion.targets(1967,5): warning : The referenced project '..\Shared\EpicGames.Core\EpicGames.Core.csproj' does not exist. [C:\GameDev\WSNuNuLappy2\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]
C:\Program Files\dotnet\sdk\5.0.408\Microsoft.Common.CurrentVersion.targets(2203,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Ionic.Zip.Reduced". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\GameDev\WSNuNuLappy2\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]
C:\Program Files\dotnet\sdk\5.0.408\Microsoft.Common.CurrentVersion.targets(2203,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.VisualStudio.Setup.Configuration.Interop". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\GameDev\WSNuNuLappy2\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]
C:\GameDev\WSNuNuLappy2\Engine\Source\Programs\UnrealBuildTool\Configuration\BuildConfiguration.cs(8,7): error CS0246: The type or namespace name 'EpicGames' could not be found (are you missing a using directive or an assembly reference?) [C:\GameDev\WSNuNuLappy2\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]
C:\GameDev\WSNuNuLappy2\Engine\Source\Programs\UnrealBuildTool\Configuration\ModuleRules.cs(10,7): error CS0246: The type or namespace name 'EpicGames' could not be found (are you missing a using directive or an assembly reference?) [C:\GameDev\WSNuNuLappy2\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]
C:\GameDev\WSNuNuLappy2\Engine\Source\Programs\UnrealBuildTool\Configuration\ModuleRules.cs(11,7): error CS0246: The type or namespace name 'UnrealBuildBase' could not be found (are you missing a using directive or an assembly reference?) [C:\GameDev\WSNuNuLappy2\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]
C:\GameDev\WSNuNuLappy2\Engine\Source\Programs\UnrealBuildTool\Configuration\ModuleRulesContext.cs(8,7): error CS0246: The type or namespace name 'EpicGames' could not be found (are you missing a using directive or an assembly reference?) [C:\GameDev\WSNuNuLappy2\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]
C:\GameDev\WSNuNuLappy2\Engine\Source\Programs\UnrealBuildTool\Configuration\TargetDescriptor.cs(9,7): error CS0246: The type or namespace name 'EpicGames' could not be found (are you missing a using directive or an assembly reference?) [C:\GameDev\WSNuNuLappy2\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]
C:\GameDev\WSNuNuLappy2\Engine\Source\Programs\UnrealBuildTool\Configuration\TargetDescriptor.cs(10,7): error CS0246: The type or namespace name 'UnrealBuildBase' could not be found (are you missing a using directive or an assembly reference?) [C:\GameDev\WSNuNuLappy2\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]
C:\GameDev\WSNuNuLappy2\Engine\Source\Programs\UnrealBuildTool\Configuration\TargetInfo.cs(9,7): error CS0246: The type or namespace name 'EpicGames' could not be found (are you missing a using directive or an assembly reference?) [C:\GameDev\WSNuNuLappy2\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]