I’m trying to distribute a source-built editor along with a Project containing C++ code.
On first computer:
- Successfully built both the engine
and my project’s custom C++ code
(have a .DLL and PDB sitting in
(Project)/Binaries/Win64) - Tested,
DLL loads fine (custom BP nodes
visible and working in the project) - Zipped the engine folder and the
project into two separate files
On second computer:
- Created folders for engine
(D:\UE4_4112_Engine) and project
(D:(MyProject)) - Unzipped zipfiles
into each respective folder - In
(Engine)/Binaries/Win64, ran
UnrealVersionSelector.exe to
register the newly-copied engine as
a valid engine installation - Tried to
load the project
At this point, the second computer refuses to find the custom DLL inside (Project)/Binaries/Win64. However, it does find the DLL if I manually copy it to (Engine)/Binaries/Win64. Yet this is an insufficient solution, since everything will be moving to Perforce and I cannot have users manually copying files around.
So I have a few questions:
-
Is this a valid process for giving the source-built engine and project to a colleague?
-
When copying the engine and project to a destination computer, should I use exactly the same folder names and structure as exist on the source computer?
-
Inside (Project)/Binaries/Win64/(MyProject)_VSEditor.target, I can see
{
“Path” : “$(ProjectDir)\Binaries\Win64\UE4Editor-(MyProject).dll”,
“Type” : “DynamicLibrary”
},
Is $(ProjectDir) a Visual Studio variable? How can I change this on a destination computer without rebuilding the entire engine?