Closed MasterMann closed 1 year ago
Hi @MasterMann thanks for reporting the issue.
Which version 5.X.X are you using? I've tested with 5.0.3 and 5.1.0
Custom build of 5.1.1 (from official Epic GitHub), with project association to that build (via Generate Project Files in explorer -> Select Unreal Engine version).
The pre-built UE5 verions from Epic always have a proper version number in that field.
I see...
I just found this reference on the web related to the "EngineAssociation" possible values: https://github.com/ibbles/LearningUnrealEngine/blob/master/Engine%20association%20and%20versions.md
I've to understand if could be possible match UUID with the Engine Version on Windows. If in the meantime you have some idea, I'm all ears :)
@fdefelici found the full documentation about matching custom-built UE versions:
When a foreign project is created from a launcher (binary) build, the EngineAssociation field in its .uproject file is set to the version number of the launcher engine that was used to create it. In case you created the project from a source-built version of the Unreal Editor it will put in the Globally Unique Identifier (GUID) of that editor. This GUID is automatically generated and saved on your computer the first time you launch your source-built editor. The locations where these are stored on different operating systems are:
Source: https://docs.unrealengine.com/5.1/en-US/managing-game-code-in-unreal-engine/
Hi @MasterMann, yes I confirm that is the expected behaviour. I was testing around that specification and basically it's a dead end. For custom build it seems that GUID is paired with absolute path of engine installation root directory (instead FUnreal is parsing uproject file to gather the version).
Anyhow, maybe I found a another way to detect UE version that should work for all engine builds (epic official and custom) by accessing this file [UE_ROOT]/Engine/Build/Build.version.
Currently, I'm trying to make a custom UE build to verify if this file is "reliable".
Meanwhile could you check the presence of this file on your custom build and verify that it contains the original UE version information?
Yes, I have the file in that place, here are the contents:
{
"MajorVersion": 5,
"MinorVersion": 1,
"PatchVersion": 1,
"Changelist": 0,
"CompatibleChangelist": 23058290,
"IsLicenseeVersion": 0,
"IsPromotedBuild": 0,
"BranchName": "++UE5+Release-5.1"
}
Ok perfect. Still waiting for my custom build to finish, but with your evidence I can start implement version detection from it.
@MasterMann here a build with the new implementation FUnreal.vsix.zip
If you want to test it before final release you can follow this steps:
@fdefelici thanks a lot, will try soon and let you know.
Seems like the plugin now detects the custom build and functionality works fine (tested adding a new class in a project plugin, and deleting .h/cpp files after). I'll close the issue and re-open if I find any bugs.
[2023-04-10 04:35:36][INFO] UE Project descriptor found at C:\Users\<redacted>\Documents\Unreal Projects\<redacted>\<redacted>.uproject
[2023-04-10 04:35:36][INFO] UE Version: 5.1.1
[2023-04-10 04:35:36][INFO] UE Path: C:\UnrealEngine\UE_5.1.1\Engine
[2023-04-10 04:35:36][INFO] UBT Path: C:\UnrealEngine\UE_5.1.1\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.exe
[2023-04-10 04:35:36][INFO] FUnreal setup completed.
[2023-04-10 04:35:36][INFO] Scanning <redacted> project ...
[2023-04-10 04:35:36][INFO] <redacted> project scan completed. Found 5 plugins and 18 modules.
OK thank you for your testing.
I just keep open the issue, just to make it close by pull request event for release_v0.0.8.
I'll let you know when ready, so you can unistall FUnreal test version and catch up with the latest from the Marketplace.
@MasterMann v0.0.8 is now live on marketplace
Same problem as #1 , but this time due to engine version in
.uproject
files being set to{<UUID>}
format. Manually editing the version back to standard allows FUnreal to work, but breaks integration with UE5 (project generation, etc.).Example: