C++ classes are missing in project shared in perforce

We are developing a project in a team and use Perforce for source control. I’ve recently added some c++ classes to the project and then added the source files of these classes to Perforce, so that my teammates can also use these classes. (I’ve only added the ‘Source’ folder in the project directory, not the ‘Intermediate’ or ‘Binaries’ folder) My teammates can pull the source files and when generating Visual Studio project files within the Unreal editor, the source files I’ve added are part of the VS project on their machine. Building the project also works without problem and a dll in the directory Binaries/Win64 is generated.

However, back in the Unreal editor, the classes do not show up as on my machine (I have them in a folder called ‘c++ classes’, they simply do not have a folder like that) and all sound cues in which I use these custom classes will just show up with them missing.

Why are these classes not showing up in the editor? Did I overlook something?

This is very peculiar. Seeing as they don’t have a C++ Classes folder, can you ask them if they have a compile button in the toolbar at the top of the main editor? It would seem that their Unreal Editor isn’t associating the project with the Visual Studio project or something similar. To ensure that they’re going through the correct procedures, these are the steps to follow when getting a new class from source control:

  1. Sync to the project to get the .cpp and .h files
  2. Close Visual Studio 2015 if it is open and right-click the .uproject file to “Generate Visual Studio project files”
  3. Open the newly generated .sln file
  4. Compile the project
  5. Open the .uproject (or return to the editor, if it was open)

Thank you for clarifying the necessary steps. This is what we did and we still ran into the problem I’ve described. However, I could solve the issue. It was related to a sync problem.

It turns that the .uproject files were not properly synchronized. This is how the file looked like on the machine of my colleague:

{
	"FileVersion": 3,
	"EngineAssociation": "4.10",
	"Category": "",
	"Description": ""
}

This is what it looked like on my machine

{
	"FileVersion": 3,
	"EngineAssociation": "4.10",
	"Category": "",
	"Description": "",
	"Modules": [
		{
			"Name": "HikariDemo",
			"Type": "Runtime",
			"LoadingPhase": "Default",
			"AdditionalDependencies": [
				"Engine"
			]
		}
	]
}

Properly synching them to my version solved the problem.