Skip to content

Conversation

Ravgni
Copy link

@Ravgni Ravgni commented Jul 18, 2025

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):

@jonyMarino
Copy link
Contributor

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:

  • Do the scripts for generating projects in Visual Studio and VS Code still work as expected?

  • Are there any issues with other Unreal Engine command-line scripts?

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.

@jonyMarino jonyMarino added enhancement New feature or request roadmap Part of the official roadmap labels Jul 28, 2025
@Ravgni
Copy link
Author

Ravgni commented Jul 29, 2025

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.

Copy link

@Copilot Copilot AI left a 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

@MarinaGloc
Copy link
Contributor

Hi Ravgni,
We would like to ask you to perform some tests to check that ProjectAirSim is functioning properly.
The tests are located in the folder:
ProjectAirSim/client/python/projectairsim/tests

To run them, you can use pytest. In particular, could you run the following tests?:
pytest test_camera_benchmarker.py
pytest test_lidar_mid70.py
pytest test_sensor_apis.py

If you want, you can also try running all the tests, although it's not necessary, with "pytest .".
Please, let us know your results. Thank you very much for your help!

@Ravgni
Copy link
Author

Ravgni commented Sep 20, 2025

Greetings. Here are results:
(airsim) D:\repos\ProjectAirSim\client\python\projectairsim\tests>pytest test_camera_benchmarker.py
================================================= test session starts =================================================
platform win32 -- Python 3.12.11, pytest-8.4.2, pluggy-1.6.0
rootdir: D:\repos\ProjectAirSim\client\python\projectairsim\tests
configfile: pytest.ini
plugins: dash-3.2.0
collected 4 items

test_camera_benchmarker.py .... [100%]

================================================== warnings summary ===================================================
C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\lark\utils.py:171
C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\lark\utils.py:171: DeprecationWarning: module 'sre_parse' is deprecated
import sre_parse

C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\lark\utils.py:172
C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\lark\utils.py:172: DeprecationWarning: module 'sre_constants' is deprecated
import sre_constants

C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\projectairsim\utils.py:18
C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\projectairsim\utils.py:18: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources

test_camera_benchmarker.py::test_rgb_benchmarker_pubsub
D:\repos\ProjectAirSim\client\python\projectairsim\tests\test_camera_benchmarker.py:124: UserWarning:
[INFO] rgb camera pubsub benchmark result FPS=91.07, run time=2.196
warnings.warn(

test_camera_benchmarker.py::test_depth_benchmarker_pubsub
D:\repos\ProjectAirSim\client\python\projectairsim\tests\test_camera_benchmarker.py:124: UserWarning:
[INFO] depth camera pubsub benchmark result FPS=86.00, run time=2.325
warnings.warn(

test_camera_benchmarker.py::test_rgb_benchmarker_reqrep
D:\repos\ProjectAirSim\client\python\projectairsim\tests\test_camera_benchmarker.py:124: UserWarning:
[INFO] rgb camera reqrep benchmark result FPS=11.30, run time=4.426
warnings.warn(

test_camera_benchmarker.py::test_depth_benchmarker_reqrep
D:\repos\ProjectAirSim\client\python\projectairsim\tests\test_camera_benchmarker.py:124: UserWarning:
[INFO] depth camera reqrep benchmark result FPS=12.80, run time=3.906
warnings.warn(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================================== 4 passed, 7 warnings in 24.80s ============================================

(airsim) D:\repos\ProjectAirSim\client\python\projectairsim\tests>pytest test_lidar_mid70.py
================================================= test session starts =================================================
platform win32 -- Python 3.12.11, pytest-8.4.2, pluggy-1.6.0
rootdir: D:\repos\ProjectAirSim\client\python\projectairsim\tests
configfile: pytest.ini
plugins: dash-3.2.0
collected 1 item

test_lidar_mid70.py . [100%]

================================================== warnings summary ===================================================
C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\lark\utils.py:171
C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\lark\utils.py:171: DeprecationWarning: module 'sre_parse' is deprecated
import sre_parse

C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\lark\utils.py:172
C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\lark\utils.py:172: DeprecationWarning: module 'sre_constants' is deprecated
import sre_constants

C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\projectairsim\utils.py:18
C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\projectairsim\utils.py:18: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================================ 1 passed, 3 warnings in 8.91s ============================================

(airsim) D:\repos\ProjectAirSim\client\python\projectairsim\tests>pytest test_sensor_apis.py
================================================= test session starts =================================================
platform win32 -- Python 3.12.11, pytest-8.4.2, pluggy-1.6.0
rootdir: D:\repos\ProjectAirSim\client\python\projectairsim\tests
configfile: pytest.ini
plugins: dash-3.2.0
collected 8 items

test_sensor_apis.py ........ [100%]

================================================== warnings summary ===================================================
C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\lark\utils.py:171
C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\lark\utils.py:171: DeprecationWarning: module 'sre_parse' is deprecated
import sre_parse

C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\lark\utils.py:172
C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\lark\utils.py:172: DeprecationWarning: module 'sre_constants' is deprecated
import sre_constants

C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\projectairsim\utils.py:18
C:\ProgramData\miniconda3\envs\airsim\Lib\site-packages\projectairsim\utils.py:18: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================================ 8 passed, 3 warnings in 4.26s ============================================

@hiradg
Copy link

hiradg commented Sep 23, 2025

Hi Ravgni,

Thank you for fixing the upgrade to Unreal Engine 5.6.

I am currently working with the following setup:

  • Windows 11
  • Visual Studio v17.14.2
  • MSVC v14.38
  • Unreal Engine 5.6

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?

@Ravgni
Copy link
Author

Ravgni commented Sep 23, 2025

Hi hiradg,
I haven't tested on UE 5.2 so, unfortunately, I don't have a reference point to state if performance become worse.

@hiradg
Copy link

hiradg commented Sep 23, 2025

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.

@scropions
Copy link

scropions commented Sep 24, 2025

This is a bad solution because it no longer works with previous versions. I've suggested the following solutions, but for some reason it's not showing up.
image

#62 (comment)

@Ravgni
Copy link
Author

Ravgni commented Sep 24, 2025

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.

@MarinaGloc
Copy link
Contributor

Hello again Ravgni!
Thanks for your prompt reply. We have been performing some tests and noticed a drop in camera FPS.
Also, it seems important to keep the Unreal Editor in the foreground, since many of the tests don’t run properly when it’s in the background, even when unlocking the "Use less CPU when in background" option.
These issues did not occur in version 5.2.
Thanks again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request roadmap Part of the official roadmap

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🔄 Upgrade Project AirSim to Unreal Engine 5.5

5 participants