Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
c22956a
WIP 5.6 documentation
WouterJansen Jul 1, 2025
ab3f2bc
Fixes for Unreal 5.6
WouterJansen Jul 1, 2025
d44edf2
workaround for build issue on 5.6
WouterJansen Jul 1, 2025
e4bad64
fixed crash on endplay
WouterJansen Jul 1, 2025
57e77a3
updated for crashfix
WouterJansen Jul 1, 2025
ff7d702
Fixed several edge-cases and crashes in annotation system
WouterJansen Jul 8, 2025
a27bb11
Updated annotation system to add both actor and component tags to the…
WouterJansen Jul 30, 2025
7da91d4
Disabled annotator log spam
WouterJansen Oct 2, 2025
5fafdf1
Made scene camera use autofocus by default. Can still be set to manua…
WouterJansen Oct 2, 2025
231ac7d
updated
WouterJansen Oct 2, 2025
83cf342
fix typo
WouterJansen Oct 2, 2025
057e692
Update Unreal Engine build instructions
WouterJansen Oct 3, 2025
ec4f599
Change base image to dev-slim version
WouterJansen Oct 3, 2025
ebd5bdf
Update base image to dev-slim-5.6.1
WouterJansen Oct 3, 2025
a41787e
Update AirSim docker image builder script
WouterJansen Oct 3, 2025
db479a2
Refactor Docker image building logic
WouterJansen Oct 3, 2025
ac5b821
Update docker_ubuntu.md
WouterJansen Oct 3, 2025
01b617f
Clarify plugin copying requirement for Blocks environment
WouterJansen Oct 3, 2025
9e94018
Remove unnecessary flags from build command
WouterJansen Oct 3, 2025
5dba181
Update InitialInstanceSegmentation and remove annotations
WouterJansen Oct 3, 2025
8ceb403
Update script paths for Blocks binary creation
WouterJansen Oct 3, 2025
72ef03a
Add files via upload
WouterJansen Oct 3, 2025
a03371f
cleanup for 5.6
WouterJansen Oct 3, 2025
1623da8
typo fix
WouterJansen Oct 3, 2025
9ca90e3
improved lumen camera settings for reflections
WouterJansen Oct 30, 2025
7ba0bea
Fixes for Unreal 5.7 preview
WouterJansen Oct 30, 2025
2dacfd7
Fixes for Unreal 5.7 preview
WouterJansen Oct 30, 2025
5de88a2
testing for nanite skeletal meshes to work in annotation view
WouterJansen Oct 31, 2025
a955259
Revert "testing for nanite skeletal meshes to work in annotation view"
WouterJansen Nov 12, 2025
ac2c1af
Update publication reference in README
WouterJansen Jan 14, 2026
0acf5a7
WIP nanite skeletal mesh support for annotation
WouterJansen Mar 16, 2026
b7f3ace
annotation camera naninte sketelal mesh WIP
WouterJansen Mar 18, 2026
7f2174a
Merge remote-tracking branch 'origin/5.7pdev' into 5.7pdev
WouterJansen Mar 18, 2026
f3c51f2
got instanced skeletal nanite meshes working
WouterJansen Mar 18, 2026
ecc987b
update
WouterJansen May 19, 2026
83377f1
5.8 engine compatibility
WouterJansen Jul 10, 2026
fa6d56c
Blocks 5.8 update
WouterJansen Jul 10, 2026
361d6c9
docker 5.8 update
WouterJansen Jul 10, 2026
2568a69
3.4 update
WouterJansen Jul 10, 2026
62b46fa
ros 5.8 update
WouterJansen Jul 10, 2026
5dcb397
docs 5.8 update
WouterJansen Jul 10, 2026
2684841
update for jetbrains and claude
WouterJansen Jul 10, 2026
9034655
readme 5.8dev update
WouterJansen Jul 10, 2026
0e10920
5.8 update for 3.4 prerelease
WouterJansen Jul 10, 2026
83d1b81
some header includes have been changed to hpp in new ros2 distros
mhnrahmani Sep 24, 2025
4011572
ros2 node new tf hierarchy: world-> odom-> vehicle-> sensors
mhnrahmani Sep 30, 2025
6448d31
bugfix in ros2 camera tf
mhnrahmani Oct 15, 2025
d1ceeae
updated for jazzy
WouterJansen Jul 10, 2026
28ce584
updated for ros2 fixes
WouterJansen Jul 10, 2026
eadcadf
fixed missing version number
WouterJansen Jul 10, 2026
52ba7c9
Updated Matlab Toolbox for new toolbox project file structure.
WouterJansen Jul 10, 2026
b6d3cae
re-added IS
WouterJansen Jul 10, 2026
26d0eb8
Updated Matlab Toolbox for new toolbox project file structure.
WouterJansen Jul 10, 2026
5ea73bf
updated for 5.8 further
WouterJansen Jul 10, 2026
ce5d23b
cleanup
WouterJansen Jul 10, 2026
cc6e4c7
Fixed GPULidar not working on MultiRotor simmode with new work-around…
WouterJansen Jul 10, 2026
4168fab
updated docs to material style.
WouterJansen Jul 10, 2026
e62c492
updated docs for 5.8 and 5.2.1 removal
WouterJansen Jul 10, 2026
efa9c15
fixes for building 5.8 release
WouterJansen Jul 10, 2026
f864dee
build fix
WouterJansen Jul 13, 2026
16470db
cleanup for 5.2.1 changes
WouterJansen Jul 13, 2026
c7c2cde
attempt to cleanup install guide and improve linux setup script
WouterJansen Jul 13, 2026
9452d62
improve message
WouterJansen Jul 13, 2026
7647f28
cleanup doc
WouterJansen Jul 13, 2026
5ae2671
improved command
WouterJansen Jul 13, 2026
2cdbc3d
built fixes for Linux
WouterJansen Jul 13, 2026
9dea3b3
improvements to auto-linux targetting UE clang
WouterJansen Jul 13, 2026
762d496
Added new linux build instructions
WouterJansen Jul 13, 2026
99cd991
small fixes
WouterJansen Jul 13, 2026
77bc3a8
improved for skeletal meshes
WouterJansen Jul 13, 2026
06f4e88
improved docker for new clang linkage
WouterJansen Jul 13, 2026
0758808
Merge branch 'main' into 5.8dev
WouterJansen Jul 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -402,3 +402,8 @@ PythonClient/docs/_build
/Unreal/Environments/BlocksComp/
docker/LinuxBlocks/*
/cosys-airsim-data-scripts/
CLAUDE.md
*.claude
*.idea
Unreal/Environments/Blocks/Automation_Blocks.slnx
Unreal/Environments/Blocks/Blocks.slnx
14 changes: 6 additions & 8 deletions AirLib/include/common/AirSimSettings.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1837,6 +1837,8 @@ namespace airlib
const std::string& simmode_name)

{
unused(simmode_name); // no longer used for per-sensor-type gating, kept for call-site compatibility

// NOTE: Increase type if number of sensors goes above 8
uint8_t present_sensors_bitmask = 0;

Expand All @@ -1852,15 +1854,11 @@ namespace airlib
auto sensor_type = Utils::toEnum<SensorBase::SensorType>(child.getInt("SensorType", 0));
auto enabled = child.getBool("Enabled", false);

if (simmode_name == kSimModeTypeMultirotor && sensor_type == SensorBase::SensorType::GPULidar && enabled) {
throw std::invalid_argument(std::string("GPULiDAR sensor from MultiRotor vehicle as this combination is not supported. Please remove or disable."));
}else{
sensors[key] = createSensorSetting(sensor_type, key, enabled);
initializeSensorSetting(sensors[key].get(), child);
sensors[key] = createSensorSetting(sensor_type, key, enabled);
initializeSensorSetting(sensors[key].get(), child);

// Mark sensor types already added
present_sensors_bitmask |= 1U << Utils::toNumeric(sensor_type);
}
// Mark sensor types already added
present_sensors_bitmask |= 1U << Utils::toNumeric(sensor_type);
}
}

Expand Down
3 changes: 3 additions & 0 deletions AirLib/include/sensors/lidar/GPULidarSimpleParams.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ namespace msr {
uint draw_mode = 0; // 0 = no coloring, 1 = instance segmentation, 2 = material, 3 = impact angle, 4 = intensity
bool draw_sensor = false; // Draw the physical sensor in the world on the vehicle with a 3d colored axis

bool async_capture_mode = false;

real_T update_frequency = 10; // Frequency to update the sensor at in Hz
real_T startup_delay = 1; // Delay until sensor is enabled in seconds

Expand All @@ -57,6 +59,7 @@ namespace msr {
void initializeFromSettings(const AirSimSettings::GPULidarSetting& settings)
{
std::string simmode_name = AirSimSettings::singleton().simmode_name;
async_capture_mode = (simmode_name == AirSimSettings::kSimModeTypeMultirotor);


const auto& settings_json = settings.settings;
Expand Down
22 changes: 20 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
### Development (version 3.4)
### July 2026 (version 3.4)
* The latest available stable Unreal Engine version that is now targeted for release is 5.8. This means the previous 5.5 branch will no longer be receive updates or be actively maintained.
* Removed prebuild versions of 5.2.1 LTS version. This branch is still updated and maintained but has to be used from source.
* Added unique index to each object name in the annotation system to avoid duplicate name overrides.
* Added support with annotation system for (instanced) skeletal nanite meshes.
* Updated annotation system to add both actor and component tags to the annotation system for checking if both exist instead of old behaviour where actor tags took priority and component tags would be ignored if both existed.
* Updated annotation system to stop printing everything to log.
* Updated default camera to use auto-focus. Manual focus still available through API.
* Updated Docker tutorial to work better for recent Unreal versions.
* Updated Matlab Toolbox for new toolbox project file structure.
* Updated Linux installation from source to more easily target against the Clang shipped with Unreal Engine itself.
* Updated documentation pages to Material theme of MkDocs for better navigation and readibility.
* Fixed duplicate indexes for annotation system causing meshes to not show up in annotation masks.
* Fixed several edge-cases and crashes in annotation system.
* Fixed GPU LiDAR crashing on Multirotor vehicles by dispatching its scene capture/readback asynchronously to the game thread. GPU LiDAR + Multirotor is allowed in settings.json again as a result.
* Fixed common crash on ending play.
* Fixed incorrect TF-coordinate system for cameras for ROS2 node.
* Fixed incorrect TF hierarchy order to world->odom->vehicle->sensors for ROS2 node.
* Fixed ROS2 header imports to support newer ROS2 distros such as Jazzy.


### April 2025 (version 3.3)
* The latest available stable Unreal Engine version that is now targeted for release is 5.5. This means 5.4 will no longer be actively maintained.
Expand Down Expand Up @@ -58,7 +76,7 @@
* Updated to be compatible with Unreal 5.3.
* Note that 5.3 breaks debug rendering! Disable it to avoid issues in editor. [Fixed in 5.4](https://issues.unrealengine.com/issue/UE-199454)
* Note that 5.3 and higher requires _r.DetailMode 2_ console command or scalability settings to be set to Epic to avoid issues with rendering the RGB scene camera sensor. More info [here](docs/unreal_custenv.md#unreal-scene-camera-bug).
* Updated [ROS2 wrapper](docs/ros_cplusplus.md) to support Cosys-AirSim features and fix several issues:
* Updated [ROS2 wrapper](docs/ros2.md) to support Cosys-AirSim features and fix several issues:
* Added support for annotation cameras.
* Added support for GPU-Lidar and Echos sensors.
* Added support for ground truth labels of Lidar sensor.
Expand Down
33 changes: 33 additions & 0 deletions Matlab/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
* text=auto

*.fig binary
*.mat binary
*.mdl binary diff merge=mlAutoMerge
*.mdlp binary
*.mex* binary
*.mlapp binary
*.mldatx binary merge=mlAutoMerge
*.mlproj binary
*.mlx binary
*.p binary
*.plprj binary
*.sbproj binary
*.sfx binary
*.sldd binary
*.slreqx binary merge=mlAutoMerge
*.slmx binary merge=mlAutoMerge
*.sltx binary
*.slxc binary
*.slx binary merge=mlAutoMerge
*.slxp binary

## MATLAB Project metadata files use LF line endings
/resources/project/**/*.xml text eol=lf

## Other common binary file types
*.docx binary
*.exe binary
*.jpg binary
*.pdf binary
*.png binary
*.xlsx binary
40 changes: 40 additions & 0 deletions Matlab/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Autosave files
*.asv
*.m~
*.autosave
*.slx.r*
*.mdl.r*

# Derived content-obscured files
*.p

# Compiled MEX files
*.mex*

# Packaged app and toolbox files
*.mlappinstall
*.mltbx

# Deployable archives
*.ctf

# Generated helpsearch folders
helpsearch*/

# Code generation folders
slprj/
sccprj/
codegen/

# Cache files
*.slxc

# Cloud based storage dotfile
.MATLABDriveTag

# buildtool cache folder
.buildtool/

# SimBiology backup files
*.sbproj.backup
*.sbproj.bak
154 changes: 0 additions & 154 deletions Matlab/Cosys-AirSim Matlab API Client.prj

This file was deleted.

2 changes: 2 additions & 0 deletions Matlab/Cosys-AirSimMatlabAPIClient.prj
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<MATLABProject xmlns="http://www.mathworks.com/MATLABProjectFile"/>
Loading
Loading