Difficult transition from 4.7 to 4.8

Hey all,

Many problems to go from 4.7 to 4.8.

In one project, the UTextRenderComponent::Text seems to have gone from FString to Ftext, so i got compilation errors during the conversion recompiling and had to modify the 4.7 code --adding some FText::FromString all around-- to get the 4.8 project to compile during the conversion process.

Then, more serious, on a larger project, i couldn’t generated the project file, due to a sort of BuildingRocket error but i got the solution here:

But it’s not finished, now the project refuses to compile, which is understandable as i am using a Substance plugin (from Allegorithmic), so ok, i’ll deal with this later.

But when opening the project in visual studio, i noticed that the uproject file has not been updated to the correct engine association:

{
	"FileVersion": 3,
	"EngineAssociation": "4.7",
	"Category": "",
	"Description": "",
	"Modules": [
		{
			"Name": "yag",
			"Type": "Runtime",
			"LoadingPhase": "Default"
		}
	],
	"TargetPlatforms": [
		"WindowsNoEditor"
	]
}

As you can see, it is still in 4.7.
Obviously i can change it manually, but then, as the conversion process did not go well, i don’t know what else i could be missing.

So before i definitely switch to the 4.8 copy and deal with my Subtance problem, could you tell me what i should check to be sure that the project is correctly configured for 4.8, given that the automatic conversion went all wrong ?

Thanks for your help !

Cheers

Hi uced,

When you noticed that the uproject file was still showing 4.7, did you right-click on the .uproject file in Windows Explorer and use the Switch Engine Version option to set the correct Engine version for the project?

Hey ,

Wow, i had never noticed there even was a contextual menu on uprojects file ! So no, i didn’t^^

The compilation failed, i was proposed to open the project in VS and then i manually modified it. Should i change it back to 4.7 by hand and then do the right-click thing ?

Thanks

I have noticed a few instances myself when upgrading a project by creating a copy, that the resulting .uproject file is sometimes still associated with the older Engine version. This results in build failures in Visual Studio similar to what you described.

It should not be necessary to revert back to 4.7 manually, though if you have already edited the .uproject file yourself I would recommend making a copy of your project first. When you select the Switch Engine Version option, it will provide a drop-down list of all installed versions of the Engine. Select the version you wish to use and click OK. This will update the .uproject file to that Engine version, as well as regenerate project files for that Engine version. At that point, the only build errors that should occur would be ones related to changes made in the source code.

Hi ,

Thanks you very much, it worked well, this ticket can be closed.

Can i safely use this workflow instead of the automated conversion process for future version updates ?

  • make a copy
  • right click uproject file and change version
  • open VS and rebuild (after corrections/plugins updates)

It that more or less what the automated conversion process does behind the scenes ? Or is there some cleaning to be done ?

Thanks

The preferred method for upgrading a project would be to go through the Project Browser window that appears when you first launch the Engine. Select your project, click “Open,” then click “Open a copy” when you are prompted that the project was made with a different version of the Engine. If that conversion process fails, you can manually make a copy (if one was not created previously), check what Engine version the project is associated with, and upgrade manually.