Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Fixed broken include paths in Unreal Engine plugin. #3416

Merged
merged 2 commits into from
Oct 11, 2023
Merged

fix: Fixed broken include paths in Unreal Engine plugin. #3416

merged 2 commits into from
Oct 11, 2023

Conversation

KiaArmani
Copy link
Contributor

What type of PR is this?

/kind cleanup

What this PR does / Why we need it:

This PR adjusts the path of some include directives found in AgonesComponent.h and AgonesComponent.cpp to ensure that the plugin compiles for Unreal Engine 5.3.

Special notes for your reviewer:

Build Log:

Rebuild started...
1>------ Rebuild All started: Project: EpicGames.OIDC, Configuration: Development Any CPU ------
2>------ Rebuild All started: Project: EpicGames.Core, Configuration: Development Any CPU ------
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Tracing\EpicGames.Tracing.csproj (in 2 ms).
Restored REDACTED\UE_5.3\Engine\Plugins\ScriptPlugin\Source\ScriptGeneratorUbtPlugin\ScriptGeneratorUbtPlugin.ubtplugin.csproj (in 4 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Slack\EpicGames.Slack.csproj (in 4 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Jupiter\EpicGames.Jupiter.csproj (in 191 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.IoHash\EpicGames.IoHash.csproj (in 191 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Perforce\EpicGames.Perforce.csproj (in 192 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.UHT\EpicGames.UHT.csproj (in 193 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Serialization\EpicGames.Serialization.csproj (in 193 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Perforce.Managed\EpicGames.Perforce.Managed.csproj (in 194 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.AspNet\EpicGames.AspNet.csproj (in 193 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.BuildGraph\EpicGames.BuildGraph.csproj (in 182 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.OIDC\EpicGames.OIDC.csproj (in 196 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Core\EpicGames.Core.csproj (in 2 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Redis\EpicGames.Redis.csproj (in 200 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Box\EpicGames.Box.csproj (in 194 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Build\EpicGames.Build.csproj (in 3 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.MongoDB\EpicGames.MongoDB.csproj (in 209 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.MsBuild\EpicGames.MsBuild.csproj (in 227 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Oodle\EpicGames.Oodle.csproj (in 307 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Horde\EpicGames.Horde.csproj (in 308 ms).
Restored REDACTED\UE_5.3\Engine\Intermediate\Build\BuildRulesProjects\UE5Rules\UE5Rules.csproj (in 310 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\Apple\Apple.Automation.csproj (in 105 ms).
Restored REDACTED\UE_5.3\Engine\Intermediate\Build\BuildRulesProjects\MarketplaceRules\MarketplaceRules.csproj (in 107 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\CrowdinLocalization\CrowdinLocalization.Automation.csproj (in 301 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\Localization\Localization.Automation.csproj (in 105 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\Android\Android.Automation.csproj (in 108 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\IOS\IOS.Automation.csproj (in 108 ms).
Restored REDACTED\UE_5.3\Engine\Intermediate\Build\BuildRulesProjects\UE5ProgramRules\UE5ProgramRules.csproj (in 313 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\OneSkyLocalization\OneSkyLocalization.Automation.csproj (in 105 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\Win\Win.Automation.csproj (in 313 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj (in 313 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\SmartlingLocalization\SmartlingLocalization.Automation.csproj (in 314 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\Mac\Mac.Automation.csproj (in 314 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\AutomationUtils\AutomationUtils.Automation.csproj (in 107 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\SteamDeck\SteamDeck.Automation.csproj (in 314 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\TVOS\TVOS.Automation.csproj (in 314 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\Linux\Linux.Automation.csproj (in 314 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\XLocLocalization\XLocLocalization.Automation.csproj (in 304 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\BuildGraph\BuildGraph.Automation.csproj (in 315 ms).
Restored C:\Users\REDACTED\Documents\Unreal Projects\AgonesGame\Intermediate\Build\BuildRulesProjects\AgonesGameModuleRules\AgonesGameModuleRules.csproj (in 117 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\Turnkey\Turnkey.Automation.csproj (in 108 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\Scripts\AutomationScripts.Automation.csproj (in 314 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\CookedEditor\CookedEditor.Automation.csproj (in 118 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\LowLevelTests\LowLevelTests.Automation.csproj (in 315 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\Gauntlet\Gauntlet.Automation.csproj (in 315 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\AutomationTool\AutomationTool.csproj (in 322 ms).
Restored REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Perforce.Fixture\EpicGames.Perforce.Fixture.csproj (in 334 ms).
1>EpicGames.OIDC -> REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.OIDC\bin\Development\net6.0\EpicGames.OIDC.dll
2>EpicGames.Core -> REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Core\bin\Development\net6.0\EpicGames.Core.dll
3>------ Rebuild All started: Project: EpicGames.MsBuild, Configuration: Development Any CPU ------
4>------ Rebuild All started: Project: EpicGames.IoHash, Configuration: Development Any CPU ------
5>------ Rebuild All started: Project: EpicGames.Box, Configuration: Development Any CPU ------
3>EpicGames.MsBuild -> REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.MsBuild\bin\Development\net6.0\EpicGames.MsBuild.dll
4>EpicGames.IoHash -> REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.IoHash\bin\Development\net6.0\EpicGames.IoHash.dll
6>------ Rebuild All started: Project: EpicGames.Serialization, Configuration: Development Any CPU ------
7>------ Rebuild All started: Project: EpicGames.Build, Configuration: Development Any CPU ------
5>EpicGames.Box -> REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Box\bin\Development\net6.0\EpicGames.Box.dll
6>EpicGames.Serialization -> REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Serialization\bin\Development\net6.0\EpicGames.Serialization.dll
7>EpicGames.Build -> REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Build\bin\Development\net6.0\EpicGames.Build.dll
8>------ Rebuild All started: Project: EpicGames.Horde, Configuration: Development Any CPU ------
9>------ Rebuild All started: Project: EpicGames.UHT, Configuration: Development Any CPU ------
9>EpicGames.UHT -> REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.UHT\bin\Development\net6.0\EpicGames.UHT.dll
8>EpicGames.Horde -> REDACTED\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Horde\bin\Development\net6.0\EpicGames.Horde.dll
10>------ Rebuild All started: Project: UnrealBuildTool, Configuration: Development Any CPU ------
10>UnrealBuildTool -> REDACTED\UE_5.3\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll
11>------ Rebuild All started: Project: AgonesGame, Configuration: Development_Editor x64 ------
11>Using bundled DotNet SDK version: 6.0.302
11>Running UnrealBuildTool: dotnet "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" AgonesGameEditor Win64 Development -Project="C:\Users\REDACTED\Documents\Unreal Projects\AgonesGame\AgonesGame.uproject" -WaitMutex -FromMsBuild -Rebuild
11>Log file: C:\Users\REDACTED\AppData\Local\UnrealBuildTool\Log.txt
11>Cleaning AgonesGameEditor binaries...
11>Creating makefile for AgonesGameEditor (no existing makefile)
11>Parsing headers for AgonesGameEditor
11>  Running Internal UnrealHeaderTool "C:\Users\REDACTED\Documents\Unreal Projects\AgonesGame\AgonesGame.uproject" "C:\Users\REDACTED\Documents\Unreal Projects\AgonesGame\Intermediate\Build\Win64\AgonesGameEditor\Development\AgonesGameEditor.uhtmanifest" -WarningsAsErrors -installed
11>Total of 0 written
11>Reflection code generated for AgonesGameEditor in 0.6064025 seconds
11>Building AgonesGameEditor...
11>Using Visual Studio 2022 14.36.32541 toolchain (C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532) and Windows 10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10).
11>Determining max actions to execute in parallel (16 physical cores, 32 logical cores)
11>  Executing up to 16 processes, one per physical core
11>------ Building 10 action(s) started ------
11>[1/10] Resource Default.rc2
11>[2/10] Resource Default.rc2
11>[3/10] Compile [x64] SharedPCH.Engine.Cpp20.cpp
11>[4/10] Compile [x64] AgonesGame.cpp
11>[5/10] Link [x64] UnrealEditor-AgonesGame.lib
11>   Creating library C:\Users\REDACTED\Documents\Unreal Projects\AgonesGame\Intermediate\Build\Win64\x64\UnrealEditor\Development\AgonesGame\UnrealEditor-AgonesGame.lib and object C:\Users\REDACTED\Documents\Unreal Projects\AgonesGame\Intermediate\Build\Win64\x64\UnrealEditor\Development\AgonesGame\UnrealEditor-AgonesGame.exp
11>[6/10] Link [x64] UnrealEditor-AgonesGame.dll
11>   Creating library C:\Users\REDACTED\Documents\Unreal Projects\AgonesGame\Intermediate\Build\Win64\x64\UnrealEditor\Development\AgonesGame\UnrealEditor-AgonesGame.sup.lib and object C:\Users\REDACTED\Documents\Unreal Projects\AgonesGame\Intermediate\Build\Win64\x64\UnrealEditor\Development\AgonesGame\UnrealEditor-AgonesGame.sup.exp
11>[7/10] Compile [x64] Module.Agones.cpp
11>[8/10] Link [x64] UnrealEditor-Agones.lib
11>   Creating library C:\Users\REDACTED\Documents\Unreal Projects\AgonesGame\Plugins\Agones\Intermediate\Build\Win64\x64\UnrealEditor\Development\Agones\UnrealEditor-Agones.lib and object C:\Users\REDACTED\Documents\Unreal Projects\AgonesGame\Plugins\Agones\Intermediate\Build\Win64\x64\UnrealEditor\Development\Agones\UnrealEditor-Agones.exp
11>[9/10] Link [x64] UnrealEditor-Agones.dll
11>   Creating library C:\Users\REDACTED\Documents\Unreal Projects\AgonesGame\Plugins\Agones\Intermediate\Build\Win64\x64\UnrealEditor\Development\Agones\UnrealEditor-Agones.sup.lib and object C:\Users\REDACTED\Documents\Unreal Projects\AgonesGame\Plugins\Agones\Intermediate\Build\Win64\x64\UnrealEditor\Development\Agones\UnrealEditor-Agones.sup.exp
11>[10/10] WriteMetadata AgonesGameEditor.target
11>Total time in Parallel executor: 23.21 seconds
11>Total execution time: 26.86 seconds
========== Rebuild All: 11 succeeded, 0 failed, 0 skipped ==========
========== Rebuild started at 19:29 and took 33,540 seconds ==========

@github-actions github-actions bot added the kind/cleanup Refactoring code, fixing up documentation, etc label Oct 7, 2023
@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 4c7e359c-1d25-46ae-b817-456c000e8cf3

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3416/head:pr_3416 && git checkout pr_3416
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.36.0-dev-4b9ad51-amd64

@markmandel
Copy link
Member

Calling our Unreal dev crew for review please!

@domgreen, @DevChagrins, @@WilSimpson. @highlyunavailable, @tvandijck

@markmandel
Copy link
Member

I say this as someone who knows little about Unreal - do we need to have a preprocessor or similar to have different include paths for different Unreal versions?

@highlyunavailable
Copy link
Contributor

I'd strongly recommend you use #if ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION >= 3 or something similar to gate this so prior versions don't break.

@DevChagrins
Copy link
Contributor

I'd strongly recommend you use #if ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION >= 3 or something similar to gate this so prior versions don't break.

I agree here. Though I do want to note, I did try this change in 4.26 and it doesn't break it. I've even checked code that I've already got on hand that uses these files and can verify that it should work back to 4.26. No clue on why these dependencies were not included in this fashion originally.

@highlyunavailable
Copy link
Contributor

Alright, if it compiles in 4.26 I'd say LGTM.

Copy link
Member

@markmandel markmandel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your input everyone! In which case, Approved!

@google-oss-prow
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: KiaArmani, markmandel

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@google-oss-prow google-oss-prow bot removed the lgtm label Oct 11, 2023
@google-oss-prow
Copy link

New changes are detected. LGTM label has been removed.

@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 47973b36-a81e-4bea-bf6e-17d9b96f518f

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3416/head:pr_3416 && git checkout pr_3416
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.36.0-dev-c6c2c30-amd64

@markmandel markmandel merged commit 2003e67 into googleforgames:main Oct 11, 2023
3 checks passed
@WilSimpson
Copy link
Contributor

Just a note since I was pinged - These are the recommended includes path since at least 4.26. If you're only looking to support 4.26+ there is no need for any preprocessing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved kind/cleanup Refactoring code, fixing up documentation, etc size/XS
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants