-
Notifications
You must be signed in to change notification settings - Fork 38
UE 5.6 code conformance #37
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
base: main
Are you sure you want to change the base?
Conversation
Thank you very much for your contribution. It is greatly appreciated. We rely on the community to help keep the ProjectAirSim repository healthy and up to date. We’d like to confirm:
To help move this pull request forward, we would be grateful if other users could test it and share their feedback. Maintaining this project as a community effort depends on shared testing and validation. Thank you again for your support and collaboration. |
Greetings. I have run "build.cmd all" command on clean repo and it built and packaged all artifacts successfully. I've tested only on Visual Studio. Generating solution for Visual Studio also works as intended. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR updates the ProjectAirSim codebase to be conformant with Unreal Engine 5.6, addressing compatibility issues that arose with the newer engine version.
Key changes include:
- Updated build configuration files to use latest build settings and target UE 5.6
- Modernized shader and rendering APIs to match UE 5.6 conventions
- Replaced deprecated API calls with their current equivalents
Reviewed Changes
Copilot reviewed 28 out of 28 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
unreal/Blocks/Source/BlocksEditor.Target.cs | Updated build settings to use Latest instead of V2 |
unreal/Blocks/Source/Blocks.Target.cs | Updated build settings to use Latest instead of V2 |
unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/ProjectAirSim.Build.cs | Removed deprecated C++17 standard setting and added renderer includes |
unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/World/WorldSimApi.cpp | Replaced dynamic_cast with UE Cast and added missing includes |
unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealLogger.h | Updated logger template to use UE 5.6 format string types |
unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/LidarIntensityShader.h | Updated shader parameter APIs and include paths |
unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealCamera.cpp | Replaced deprecated LineBatcher properties with GetLineBatcher method calls |
unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealCameraRenderRequest.h | Updated texture type from FRHITexture2D to FRHITexture |
unreal/Blocks/Blocks.uproject | Updated engine association from 5.1 to 5.6 |
Hi Ravgni, To run them, you can use pytest. In particular, could you run the following tests?: If you want, you can also try running all the tests, although it's not necessary, with "pytest .". |
Greetings. Here are results: test_camera_benchmarker.py .... [100%] ================================================== warnings summary =================================================== C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\lark\utils.py:172 C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\projectairsim\utils.py:18 test_camera_benchmarker.py::test_rgb_benchmarker_pubsub test_camera_benchmarker.py::test_depth_benchmarker_pubsub test_camera_benchmarker.py::test_rgb_benchmarker_reqrep test_camera_benchmarker.py::test_depth_benchmarker_reqrep -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html (airsim) D:\repos\ProjectAirSim\client\python\projectairsim\tests>pytest test_lidar_mid70.py test_lidar_mid70.py . [100%] ================================================== warnings summary =================================================== C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\lark\utils.py:172 C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\projectairsim\utils.py:18 -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html (airsim) D:\repos\ProjectAirSim\client\python\projectairsim\tests>pytest test_sensor_apis.py test_sensor_apis.py ........ [100%] ================================================== warnings summary =================================================== C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\lark\utils.py:172 C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\projectairsim\utils.py:18 -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html |
Hi Ravgni, Thank you for fixing the upgrade to Unreal Engine 5.6. I am currently working with the following setup:
I've been experiencing significant stuttering while using the Blocks project, an issue I did not encounter with UE5.2. Have you encountered similar issues, or is this specific to my setup? |
Hi hiradg, |
Thank you, Ravgni. I have decided to use the same version of MSVC 14.44 to build the project for UE5.6 as a sanity check. However, I am experiencing significant stuttering with the Python client examples. I will investigate this further to see how we can achieve similar performance to the UE5.2 release. |
What you are proposing is also not ideal, because you have to paint every change in this pull request with #ifdef. To clarify further - all changes in this pull request are fixing compilation errors, it is not some enhancement or refactoring from my side. It's plain fixing build errors on recent UE versions. And I guess it is up to maintainer to make a decision how they want to support different versions of UE - making branch per version, create releases/tags, or just updating main branch and saying everything older than this particular version is deprecated and no longer supported. |
Hello again Ravgni! |
Fixes: #11
Fixes non-conformance with Unreal Engine 5.6
About
Code conformant with Unreal Engine 5.6
How Has This Been Tested?
Built on Win11 using Visual Studio 2022 (17.14.9), MSVC compiler 14.44.35207, Unreal Engine 5.6.0
Screenshots and videos (if appropriate):