From f4c64d1c3af515f7c0b14e7ce0bca40377ab0317 Mon Sep 17 00:00:00 2001 From: Artur Kamieniecki Date: Tue, 15 Apr 2025 12:10:19 +0200 Subject: [PATCH 01/16] WIP-configbus Signed-off-by: Artur Kamieniecki --- .../Configuration/ConfigurationBus.h | 35 +++++++++++++++++ .../Configuration/ImuSensorConfiguration.h | 38 +++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h create mode 100644 Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ImuSensorConfiguration.h diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h new file mode 100644 index 000000000..1aa646429 --- /dev/null +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h @@ -0,0 +1,35 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#pragma once + +#include +#include + +namespace ROS2 { + template + class ConfigurationRequests : public AZ::EBusTraits + { + public: + // AZ_RTTI(ConfigurationRequests, "{44259aa4-ab03-43c9-baf2-77063640e925}"); + using BusIdType = AZ::EntityId; + static constexpr AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::ById; + static constexpr AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Multiple; + + virtual ~ConfigurationRequests() = default; + + virtual const Configuration GetConfiguration() const { + return Configuration{}; + }; + + virtual void SetConfiguration(const Configuration configuration) {}; + }; + + template + using ConfigurationBus = AZ::EBus>; +} diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ImuSensorConfiguration.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ImuSensorConfiguration.h new file mode 100644 index 000000000..6051e3aed --- /dev/null +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ImuSensorConfiguration.h @@ -0,0 +1,38 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ +#pragma once + +#include +#include +#include +#include + +namespace ROS2 +{ + //! A structure capturing configuration of a IMU sensor. + struct ImuSensorConfiguration + { + AZ_TYPE_INFO(ImuSensorConfiguration, "{6788e84f-b985-4413-8e2b-46fbfb667c95}"); + static void Reflect(AZ::ReflectContext* context); + + //! Length of filter that removes numerical noise + int m_filterSize = 10; + int m_minFilterSize = 1; + int m_maxFilterSize = 200; + + //! Include gravity acceleration + bool m_includeGravity = true; + + //! Measure also absolute rotation + bool m_absoluteRotation = true; + + AZ::Vector3 m_orientationVariance = AZ::Vector3::CreateZero(); + AZ::Vector3 m_angularVelocityVariance = AZ::Vector3::CreateZero(); + AZ::Vector3 m_linearAccelerationVariance = AZ::Vector3::CreateZero(); + }; +} // namespace ROS2 From 5a2073b21e59e996ba483f4ed1f411164936d9dc Mon Sep 17 00:00:00 2001 From: Artur Kamieniecki Date: Tue, 22 Apr 2025 12:01:54 +0200 Subject: [PATCH 02/16] Move configurations to public interface Signed-off-by: Artur Kamieniecki --- .../CameraSensorConfiguration.h | 0 .../Configuration/ConfigurationBus.h | 2 +- .../Configuration}/LidarSensorConfiguration.h | 0 .../Configuration}/ROS2OdometryCovariance.h | 0 .../ROS2WheelOdometryConfiguration.h | 31 ++++++++++++++ .../Include/ROS2Sensors/ROS2SensorsTypeIds.h | 3 ++ .../Sensor/ROS2SensorComponentBase.h | 23 ++++++---- .../Camera/CameraSensorConfiguration.cpp | 2 +- .../Source/Camera/CameraSensorDescription.h | 2 +- .../Camera/ROS2CameraSensorComponent.cpp | 1 + .../Source/Camera/ROS2CameraSensorComponent.h | 4 +- .../Camera/ROS2CameraSensorEditorComponent.h | 2 +- .../ROS2ContactSensorComponent.cpp | 12 ++++++ .../ROS2ContactSensorComponent.h | 14 ++++++- .../Source/GNSS/ROS2GNSSSensorComponent.cpp | 11 +++++ .../Source/GNSS/ROS2GNSSSensorComponent.h | 14 ++++++- .../Source/Imu/ImuSensorConfiguration.cpp | 2 +- .../Code/Source/Imu/ImuSensorConfiguration.h | 38 ----------------- .../Source/Imu/ROS2ImuSensorComponent.cpp | 20 +++++++++ .../Code/Source/Imu/ROS2ImuSensorComponent.h | 10 ++++- .../ROS2Sensors/Code/Source/Lidar/LidarCore.h | 2 +- .../Source/Lidar/LidarSensorConfiguration.cpp | 2 +- .../Source/Lidar/ROS2Lidar2DSensorComponent.h | 2 +- .../Source/Lidar/ROS2LidarSensorComponent.cpp | 2 + .../Source/Lidar/ROS2LidarSensorComponent.h | 4 +- .../Odometry/ROS2OdometryCovariance.cpp | 2 +- .../Odometry/ROS2OdometrySensorComponent.cpp | 11 +++++ .../Odometry/ROS2OdometrySensorComponent.h | 14 ++++++- .../Source/Odometry/ROS2WheelOdometry.cpp | 27 +++++------- .../Code/Source/Odometry/ROS2WheelOdometry.h | 8 ++-- .../ROS2WheelOdometryConfiguration.cpp | 42 +++++++++++++++++++ .../Source/ROS2SensorsModuleInterface.cpp | 4 +- .../Code/Source/Sensor/SensorHelpers.cpp | 16 ++++--- .../Code/ros2sensors_api_files.cmake | 8 ++++ .../Code/ros2sensors_private_files.cmake | 5 +-- 35 files changed, 244 insertions(+), 96 deletions(-) rename Gems/ROS2Sensors/Code/{Source/Camera => Include/ROS2Sensors/Configuration}/CameraSensorConfiguration.h (100%) rename Gems/ROS2Sensors/Code/{Source/Lidar => Include/ROS2Sensors/Configuration}/LidarSensorConfiguration.h (100%) rename Gems/ROS2Sensors/Code/{Source/Odometry => Include/ROS2Sensors/Configuration}/ROS2OdometryCovariance.h (100%) create mode 100644 Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ROS2WheelOdometryConfiguration.h delete mode 100644 Gems/ROS2Sensors/Code/Source/Imu/ImuSensorConfiguration.h create mode 100644 Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometryConfiguration.cpp diff --git a/Gems/ROS2Sensors/Code/Source/Camera/CameraSensorConfiguration.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/CameraSensorConfiguration.h similarity index 100% rename from Gems/ROS2Sensors/Code/Source/Camera/CameraSensorConfiguration.h rename to Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/CameraSensorConfiguration.h diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h index 1aa646429..347b2ac75 100644 --- a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h @@ -13,7 +13,7 @@ namespace ROS2 { template - class ConfigurationRequests : public AZ::EBusTraits + class ConfigurationRequests : public AZ::ComponentBus { public: // AZ_RTTI(ConfigurationRequests, "{44259aa4-ab03-43c9-baf2-77063640e925}"); diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/LidarSensorConfiguration.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarSensorConfiguration.h similarity index 100% rename from Gems/ROS2Sensors/Code/Source/Lidar/LidarSensorConfiguration.h rename to Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarSensorConfiguration.h diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometryCovariance.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ROS2OdometryCovariance.h similarity index 100% rename from Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometryCovariance.h rename to Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ROS2OdometryCovariance.h diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ROS2WheelOdometryConfiguration.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ROS2WheelOdometryConfiguration.h new file mode 100644 index 000000000..305258c5a --- /dev/null +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ROS2WheelOdometryConfiguration.h @@ -0,0 +1,31 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#pragma once + +#include +#include + +#include "ROS2OdometryCovariance.h" + +namespace ROS2 { + + //! A structure capturing configuration of a wheel odometry sensor. + struct ROS2WheelOdometryConfiguration + { + AZ_RTTI(ROS2WheelOdometryConfiguration, "{9dc58d89-e674-4d7f-9ea9-afe3ae7fd2eb}"); + + ROS2WheelOdometryConfiguration() = default; + virtual ~ROS2WheelOdometryConfiguration() = default; + + static void Reflect(AZ::ReflectContext* context); + + ROS2OdometryCovariance m_poseCovariance; + ROS2OdometryCovariance m_twistCovariance; + }; +} diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/ROS2SensorsTypeIds.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/ROS2SensorsTypeIds.h index 0a797d6cd..e73a47c21 100644 --- a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/ROS2SensorsTypeIds.h +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/ROS2SensorsTypeIds.h @@ -21,6 +21,9 @@ namespace ROS2Sensors // so they use the Same TypeId inline constexpr const char* ROS2SensorsEditorModuleTypeId = ROS2SensorsModuleTypeId; + // Sensor Components Base TypeIds + inline constexpr const char* ROS2SensorComponentBaseTypeId = "{A0C2D1B4-8E5F-4E7C-8A3D-6F9B5F1A0E7D}"; + // System Sensor Components TypeIds inline constexpr const char* ROS2SystemCameraComponentTypeId = "{B4665D39-78FD-40DE-8518-2F6BD345A831}"; inline constexpr const char* ROS2EditorCameraSystemComponentTypeId = "{407F51C0-92C9-11EE-B9D1-0242AC120002}"; diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h index f63bfd369..c85797e25 100644 --- a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h @@ -30,29 +30,31 @@ namespace ROS2 //! chosen event source implementation). //! @see ROS2::TickBasedSource //! @see ROS2::PhysicsBasedSource - template + template class ROS2SensorComponentBase : public AZ::Component , public SensorConfigurationRequestBus::Handler { public: - using SensorBaseType = ROS2SensorComponentBase; + using SensorBaseType = ROS2SensorComponentBase; - AZ_COMPONENT_DECL((ROS2SensorComponentBase, AZ_CLASS)); + AZ_COMPONENT_DECL((ROS2SensorComponentBase, AZ_CLASS, AZ_CLASS)); static void Reflect(AZ::ReflectContext* context) { if (auto* serializeContext = azrtti_cast(context)) { - serializeContext->Class, AZ::Component>()->Version(1)->Field( - "SensorConfiguration", &ROS2SensorComponentBase::m_sensorConfiguration); + serializeContext->Class, AZ::Component>()->Version(1)->Field( + "SensorConfiguration", &ROS2SensorComponentBase::m_sensorConfiguration); if (auto* editContext = serializeContext->GetEditContext()) { - editContext->Class>("ROS2 Sensor Component Base", "Base component for sensors") + editContext + ->Class>( + "ROS2 Sensor Component Base", "Base component for sensors") ->DataElement( AZ::Edit::UIHandlers::Default, - &ROS2SensorComponentBase::m_sensorConfiguration, + &ROS2SensorComponentBase::m_sensorConfiguration, "Sensor configuration", "Sensor configuration"); } @@ -115,6 +117,11 @@ namespace ROS2 SensorConfigurationRequestBus::Handler::BusDisconnect(); } + AZ::TypeId GetUnderlyingComponentType() const override + { + return AZ::TypeId(ROS2Sensors::ROS2SensorComponentBaseTypeId); + } + protected: //! Starts sensor with passed frequency and adapted event callback. Optionally, user can pass source event callback, that will be //! called with event source frequency. @@ -176,5 +183,5 @@ namespace ROS2 }; AZ_COMPONENT_IMPL_INLINE( - (ROS2SensorComponentBase, AZ_CLASS), "ROS2SensorComponentBase", "{2DF9A652-DF5D-43B1-932F-B6A838E36E97}", AZ::Component) + (ROS2SensorComponentBase, AZ_CLASS, AZ_CLASS), "ROS2SensorComponentBase", ROS2Sensors::ROS2SensorComponentBaseTypeId, AZ::Component) } // namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Source/Camera/CameraSensorConfiguration.cpp b/Gems/ROS2Sensors/Code/Source/Camera/CameraSensorConfiguration.cpp index ece6cacc2..14132d7c8 100644 --- a/Gems/ROS2Sensors/Code/Source/Camera/CameraSensorConfiguration.cpp +++ b/Gems/ROS2Sensors/Code/Source/Camera/CameraSensorConfiguration.cpp @@ -6,9 +6,9 @@ * */ -#include "CameraSensorConfiguration.h" #include #include +#include namespace ROS2 { diff --git a/Gems/ROS2Sensors/Code/Source/Camera/CameraSensorDescription.h b/Gems/ROS2Sensors/Code/Source/Camera/CameraSensorDescription.h index a062978ab..c5fa1f066 100644 --- a/Gems/ROS2Sensors/Code/Source/Camera/CameraSensorDescription.h +++ b/Gems/ROS2Sensors/Code/Source/Camera/CameraSensorDescription.h @@ -7,7 +7,7 @@ */ #pragma once -#include "CameraSensorConfiguration.h" +#include #include #include diff --git a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.cpp index 5c4dbef0e..f0757dcb2 100644 --- a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.cpp @@ -22,6 +22,7 @@ namespace ROS2 void ROS2CameraSensorComponent::Reflect(AZ::ReflectContext* context) { CameraSensorConfiguration::Reflect(context); + ROS2SensorComponentBase::Reflect(context); auto* serialize = azrtti_cast(context); if (serialize) diff --git a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.h b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.h index c6fa00e1c..a4bbf2d6b 100644 --- a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.h @@ -15,10 +15,10 @@ #include #include "CameraSensor.h" -#include "CameraSensorConfiguration.h" #include #include #include +#include #include #include @@ -32,7 +32,7 @@ namespace ROS2 //! - camera vertical field of view in degrees //! Camera frustum is facing negative Z axis; image plane is parallel to X,Y plane: X - right, Y - up class ROS2CameraSensorComponent - : public ROS2SensorComponentBase + : public ROS2SensorComponentBase , public CameraCalibrationRequestBus::Handler { public: diff --git a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorEditorComponent.h b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorEditorComponent.h index fee784d3a..d86bad3cd 100644 --- a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorEditorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorEditorComponent.h @@ -12,10 +12,10 @@ #include #include -#include "CameraSensorConfiguration.h" #include #include #include +#include #include namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.cpp index 8f0f8de88..b371250e4 100644 --- a/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.cpp @@ -23,6 +23,15 @@ namespace ROS2 constexpr float ContactMaximumSeparation = 0.0001f; } + void ROS2ContactSensorConfiguration::Reflect(AZ::ReflectContext* context) + { + // No configuration parameters + if (auto* serialize = azrtti_cast(context)) + { + serialize->Class()->Version(1); + } + } + ROS2ContactSensorComponent::ROS2ContactSensorComponent() { TopicConfiguration tc; @@ -35,6 +44,9 @@ namespace ROS2 void ROS2ContactSensorComponent::Reflect(AZ::ReflectContext* context) { + ROS2ContactSensorConfiguration::Reflect(context); + ROS2SensorComponentBase::Reflect(context); + if (auto* serialize = azrtti_cast(context)) { serialize->Class()->Version(2); diff --git a/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.h b/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.h index 19c836258..d926453d5 100644 --- a/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.h @@ -23,11 +23,23 @@ namespace ROS2 { + //! This sensor does not have any configuration parameters. + //! This structure is required to be able to use the SensorConfigurationRequestBus. + struct ROS2ContactSensorConfiguration + { + AZ_RTTI(ROS2ContactSensorConfiguration, "{f7ebfb9d-2d49-4059-a88f-f577a52cd68c}"); + + ROS2ContactSensorConfiguration() = default; + virtual ~ROS2ContactSensorConfiguration() = default; + + static void Reflect(AZ::ReflectContext* context); + }; + //! Contact sensor detects collisions between two objects. //! It reports the location of the contact associated forces. //! This component publishes a contact_sensor topic. //! It doesn't measure torque. - class ROS2ContactSensorComponent : public ROS2SensorComponentBase + class ROS2ContactSensorComponent : public ROS2SensorComponentBase { public: AZ_COMPONENT(ROS2ContactSensorComponent, ROS2Sensors::ROS2ContactSensorComponentTypeId, SensorBaseType); diff --git a/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.cpp index 2100877ac..591fc27b4 100644 --- a/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.cpp @@ -22,8 +22,19 @@ namespace ROS2 const char* GNSSMsgType = "sensor_msgs::msg::NavSatFix"; } + void ROS2GNSSSensorConfiguration::Reflect(AZ::ReflectContext* context) + { + if (auto* serialize = azrtti_cast(context)) + { + serialize->Class()->Version(1); + } + } + void ROS2GNSSSensorComponent::Reflect(AZ::ReflectContext* context) { + ROS2GNSSSensorConfiguration::Reflect(context); + ROS2SensorComponentBase::Reflect(context); + if (auto* serialize = azrtti_cast(context)) { serialize->Class()->Version(4); diff --git a/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.h b/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.h index 270cd8f43..0cb0c00cc 100644 --- a/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.h @@ -17,11 +17,23 @@ namespace ROS2 { + //! This sensor does not have any configuration parameters. + //! This structure is required to be able to use the SensorConfigurationRequestBus. + struct ROS2GNSSSensorConfiguration + { + AZ_RTTI(ROS2GNSSSensorConfiguration, "{e85947cc-2821-4fa7-93d0-b3150999a588}"); + + ROS2GNSSSensorConfiguration() = default; + virtual ~ROS2GNSSSensorConfiguration() = default; + + static void Reflect(AZ::ReflectContext* context); + }; + //! Global Navigation Satellite Systems (GNSS) sensor component class //! It provides NavSatFix data of sensor's position in GNSS frame which is defined by GNSS origin offset //! Offset is provided as latitude [deg], longitude [deg], altitude [m] of o3de global frame //! It is assumed that o3de global frame overlaps with ENU coordinate system - class ROS2GNSSSensorComponent : public ROS2SensorComponentBase + class ROS2GNSSSensorComponent : public ROS2SensorComponentBase { public: AZ_COMPONENT(ROS2GNSSSensorComponent, ROS2Sensors::ROS2GNSSSensorComponentTypeId, SensorBaseType); diff --git a/Gems/ROS2Sensors/Code/Source/Imu/ImuSensorConfiguration.cpp b/Gems/ROS2Sensors/Code/Source/Imu/ImuSensorConfiguration.cpp index df6cce9b9..ab66518ec 100644 --- a/Gems/ROS2Sensors/Code/Source/Imu/ImuSensorConfiguration.cpp +++ b/Gems/ROS2Sensors/Code/Source/Imu/ImuSensorConfiguration.cpp @@ -6,9 +6,9 @@ * */ -#include "ImuSensorConfiguration.h" #include #include +#include namespace ROS2 { diff --git a/Gems/ROS2Sensors/Code/Source/Imu/ImuSensorConfiguration.h b/Gems/ROS2Sensors/Code/Source/Imu/ImuSensorConfiguration.h deleted file mode 100644 index 6051e3aed..000000000 --- a/Gems/ROS2Sensors/Code/Source/Imu/ImuSensorConfiguration.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ -#pragma once - -#include -#include -#include -#include - -namespace ROS2 -{ - //! A structure capturing configuration of a IMU sensor. - struct ImuSensorConfiguration - { - AZ_TYPE_INFO(ImuSensorConfiguration, "{6788e84f-b985-4413-8e2b-46fbfb667c95}"); - static void Reflect(AZ::ReflectContext* context); - - //! Length of filter that removes numerical noise - int m_filterSize = 10; - int m_minFilterSize = 1; - int m_maxFilterSize = 200; - - //! Include gravity acceleration - bool m_includeGravity = true; - - //! Measure also absolute rotation - bool m_absoluteRotation = true; - - AZ::Vector3 m_orientationVariance = AZ::Vector3::CreateZero(); - AZ::Vector3 m_angularVelocityVariance = AZ::Vector3::CreateZero(); - AZ::Vector3 m_linearAccelerationVariance = AZ::Vector3::CreateZero(); - }; -} // namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp index 052093718..ffd17e021 100644 --- a/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp @@ -32,6 +32,7 @@ namespace ROS2 void ROS2ImuSensorComponent::Reflect(AZ::ReflectContext* context) { ImuSensorConfiguration::Reflect(context); + ROS2SensorComponentBase::Reflect(context); if (auto* serializeContext = azrtti_cast(context)) { @@ -82,6 +83,9 @@ namespace ROS2 void ROS2ImuSensorComponent::Activate() { ROS2SensorComponentBase::Activate(); + + // ConfigurationBus::Handler::BusConnect(GetEntityId()); + auto ros2Node = ROS2Interface::Get()->GetNode(); AZ_Assert(m_sensorConfiguration.m_publishersConfigurations.size() == 1, "Invalid configuration of publishers for IMU sensor"); m_imuMsg.header.frame_id = GetFrameID().c_str(); @@ -114,6 +118,7 @@ namespace ROS2 StopSensor(); m_bodyHandle = AzPhysics::InvalidSimulatedBodyHandle; m_imuPublisher.reset(); + // ConfigurationBus::Handler::BusDisconnect(); ROS2SensorComponentBase::Deactivate(); } @@ -201,4 +206,19 @@ namespace ROS2 return covarianceMatrix; } + // const ImuSensorConfiguration ROS2ImuSensorComponent::GetConfiguration() const + // { + // std::cout << "GetConfiguration" << std::endl; + // std::cout << "Real: " << m_imuConfiguration.m_filterSize << std::endl; + // return m_imuConfiguration; + // } + + // void ROS2ImuSensorComponent::SetConfiguration(const ImuSensorConfiguration configuration) + // { + // m_imuConfiguration = configuration; + // m_linearAccelerationCovariance = ToDiagonalCovarianceMatrix(m_imuConfiguration.m_linearAccelerationVariance); + // m_angularVelocityCovariance = ToDiagonalCovarianceMatrix(m_imuConfiguration.m_angularVelocityVariance); + // m_orientationCovariance = ToDiagonalCovarianceMatrix(m_imuConfiguration.m_orientationVariance); + // } + } // namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.h b/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.h index cc925152d..a122c2917 100644 --- a/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.h @@ -18,14 +18,15 @@ #include #include -#include "ImuSensorConfiguration.h" +#include +#include namespace ROS2 { //! An IMU (Inertial Measurement Unit) sensor Component. //! IMUs typically include gyroscopes, accelerometers and magnetometers. This component encapsulates data //! acquisition and its publishing to ROS2 ecosystem. IMU Component requires ROS2FrameComponent. - class ROS2ImuSensorComponent : public ROS2SensorComponentBase + class ROS2ImuSensorComponent : public ROS2SensorComponentBase { public: AZ_COMPONENT(ROS2ImuSensorComponent, ROS2Sensors::ROS2ImuSensorComponentTypeId, SensorBaseType); @@ -40,6 +41,11 @@ namespace ROS2 void Deactivate() override; ////////////////////////////////////////////////////////////////////////// + // Configuration Bus + // void SetConfiguration(const ImuSensorConfiguration configuration) override; + + // const ImuSensorConfiguration GetConfiguration() const override; + private: std::shared_ptr> m_imuPublisher; sensor_msgs::msg::Imu m_imuMsg; diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/LidarCore.h b/Gems/ROS2Sensors/Code/Source/Lidar/LidarCore.h index 1e7ddc2c1..b5689c3e0 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/LidarCore.h +++ b/Gems/ROS2Sensors/Code/Source/Lidar/LidarCore.h @@ -10,11 +10,11 @@ #include #include #include +#include #include #include #include "LidarRaycaster.h" -#include "LidarSensorConfiguration.h" namespace ROS2 { diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/LidarSensorConfiguration.cpp b/Gems/ROS2Sensors/Code/Source/Lidar/LidarSensorConfiguration.cpp index ceaf74744..d3ed900c3 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/LidarSensorConfiguration.cpp +++ b/Gems/ROS2Sensors/Code/Source/Lidar/LidarSensorConfiguration.cpp @@ -6,9 +6,9 @@ * */ -#include "LidarSensorConfiguration.h" #include #include +#include namespace ROS2 { diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.h b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.h index 4a7e5b8cb..1ed6fbcdb 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.h @@ -25,7 +25,7 @@ namespace ROS2 //! Lidars (Light Detection and Ranging) emit laser light and measure it after reflection. //! Lidar Component allows customization of lidar type and behavior and encapsulates both simulation //! and data publishing. It requires ROS2FrameComponent. - class ROS2Lidar2DSensorComponent : public ROS2SensorComponentBase + class ROS2Lidar2DSensorComponent : public ROS2SensorComponentBase { public: AZ_COMPONENT(ROS2Lidar2DSensorComponent, ROS2Sensors::ROS2Lidar2DSensorComponentTypeId, SensorBaseType); diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.cpp index bba9fb46a..8d526da86 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.cpp @@ -25,6 +25,8 @@ namespace ROS2 void ROS2LidarSensorComponent::Reflect(AZ::ReflectContext* context) { + ROS2SensorComponentBase::Reflect(context); + if (auto* serializeContext = azrtti_cast(context)) { serializeContext->Class()->Version(3)->Field( diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.h b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.h index 041852fa7..2cead5581 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -19,7 +20,6 @@ #include "LidarCore.h" #include "LidarRaycaster.h" -#include "LidarSensorConfiguration.h" namespace ROS2 { @@ -27,7 +27,7 @@ namespace ROS2 //! Lidars (Light Detection and Ranging) emit laser light and measure it after reflection. //! Lidar Component allows customization of lidar type and behavior and encapsulates both simulation //! and data publishing. It requires ROS2FrameComponent. - class ROS2LidarSensorComponent : public ROS2SensorComponentBase + class ROS2LidarSensorComponent : public ROS2SensorComponentBase { public: AZ_COMPONENT(ROS2LidarSensorComponent, ROS2Sensors::ROS2LidarSensorComponentTypeId, SensorBaseType); diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometryCovariance.cpp b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometryCovariance.cpp index 0a0c4df54..f9c9cf5b8 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometryCovariance.cpp +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometryCovariance.cpp @@ -6,11 +6,11 @@ * */ -#include "ROS2OdometryCovariance.h" #include #include #include #include +#include #include namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.cpp index 84011ef07..ba64b895c 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.cpp @@ -20,8 +20,19 @@ namespace ROS2 const char* OdometryMsgType = "nav_msgs::msg::Odometry"; } + void ROS2OdometrySensorConfiguration::Reflect(AZ::ReflectContext* context) + { + if (auto* serialize = azrtti_cast(context)) + { + serialize->Class()->Version(1); + } + } + void ROS2OdometrySensorComponent::Reflect(AZ::ReflectContext* context) { + ROS2OdometrySensorConfiguration::Reflect(context); + ROS2SensorComponentBase::Reflect(context); + if (auto* serialize = azrtti_cast(context)) { serialize->Class()->Version(2); diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.h b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.h index d82aa26e2..cda840337 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.h @@ -17,11 +17,23 @@ namespace ROS2 { + //! This sensor does not have any configuration parameters. + //! This structure is required to be able to use the SensorConfigurationRequestBus. + struct ROS2OdometrySensorConfiguration + { + AZ_RTTI(ROS2OdometrySensorConfiguration, "{04c5d154-6fa7-4c12-a4e3-025ac853198a}"); + + ROS2OdometrySensorConfiguration() = default; + virtual ~ROS2OdometrySensorConfiguration() = default; + + static void Reflect(AZ::ReflectContext* context); + }; + //! Odometry sensor Component. //! It constructs and publishes an odometry message, which contains information about vehicle velocity and position in space. //! This is a ground truth "sensor", which can be helpful for development and machine learning. //! @see nav_msgs package. - class ROS2OdometrySensorComponent : public ROS2SensorComponentBase + class ROS2OdometrySensorComponent : public ROS2SensorComponentBase { public: AZ_COMPONENT(ROS2OdometrySensorComponent, ROS2Sensors::ROS2OdometrySensorComponent, SensorBaseType); diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp index 43b9c3508..34fa28fbe 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp @@ -7,10 +7,10 @@ */ #include "ROS2WheelOdometry.h" -#include "Odometry/ROS2OdometryCovariance.h" #include #include #include +#include namespace ROS2 { @@ -21,14 +21,13 @@ namespace ROS2 void ROS2WheelOdometryComponent::Reflect(AZ::ReflectContext* context) { - ROS2OdometryCovariance::Reflect(context); + ROS2WheelOdometryConfiguration::Reflect(context); + ROS2SensorComponentBase::Reflect(context); if (auto* serialize = azrtti_cast(context)) { - serialize->Class() - ->Version(2) - ->Field("Twist covariance", &ROS2WheelOdometryComponent::m_twistCovariance) - ->Field("Pose covariance", &ROS2WheelOdometryComponent::m_poseCovariance); + serialize->Class()->Version(2)->Field( + "Odometry configuration", &ROS2WheelOdometryComponent::m_odometryConfiguration); if (auto* editContext = serialize->GetEditContext()) { @@ -40,14 +39,10 @@ namespace ROS2 ->Attribute(AZ::Edit::Attributes::ViewportIcon, "Editor/Icons/Components/Viewport/ROS2WheelOdometrySensor.svg") ->DataElement( AZ::Edit::UIHandlers::Default, - &ROS2WheelOdometryComponent::m_twistCovariance, - "Twist covariance", - "Set ROS twist covariance") - ->DataElement( - AZ::Edit::UIHandlers::Default, - &ROS2WheelOdometryComponent::m_poseCovariance, - "Pose covariance", - "Set ROS pose covariance"); + &ROS2WheelOdometryComponent::m_odometryConfiguration, + "Odometry configuration", + "Odometry sensor configuration") + ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly); } } } @@ -72,7 +67,7 @@ namespace ROS2 { m_odometryMsg.pose.pose.position = ROS2Conversions::ToROS2Point(m_robotPose); m_odometryMsg.pose.pose.orientation = ROS2Conversions::ToROS2Quaternion(m_robotRotation); - m_odometryMsg.pose.covariance = m_poseCovariance.GetRosCovariance(); + m_odometryMsg.pose.covariance = m_odometryConfiguration.m_poseCovariance.GetRosCovariance(); m_odometryPublisher->publish(m_odometryMsg); } @@ -87,7 +82,7 @@ namespace ROS2 m_odometryMsg.header.stamp = ROS2Interface::Get()->GetROSTimestamp(); m_odometryMsg.twist.twist.linear = ROS2Conversions::ToROS2Vector3(vt.first); m_odometryMsg.twist.twist.angular = ROS2Conversions::ToROS2Vector3(vt.second); - m_odometryMsg.twist.covariance = m_twistCovariance.GetRosCovariance(); + m_odometryMsg.twist.covariance = m_odometryConfiguration.m_twistCovariance.GetRosCovariance(); if (m_sensorConfiguration.m_frequency > 0) { diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h index 45aa15779..1012a390d 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h @@ -9,19 +9,18 @@ #include #include +#include #include #include #include -#include "ROS2OdometryCovariance.h" - namespace ROS2 { //! Wheel odometry sensor component. //! It constructs and publishes an odometry message, which contains information about the vehicle's velocity and position in space. //! This is a physical sensor that takes a vehicle's configuration and computes updates from the wheels' rotations. //! @see nav_msgs package. - class ROS2WheelOdometryComponent : public ROS2SensorComponentBase + class ROS2WheelOdometryComponent : public ROS2SensorComponentBase { public: AZ_COMPONENT(ROS2WheelOdometryComponent, ROS2Sensors::ROS2WheelOdometryComponentTypeId, SensorBaseType); @@ -40,8 +39,7 @@ namespace ROS2 nav_msgs::msg::Odometry m_odometryMsg; AZ::Vector3 m_robotPose{ 0 }; AZ::Quaternion m_robotRotation{ 0, 0, 0, 1 }; - ROS2OdometryCovariance m_poseCovariance; - ROS2OdometryCovariance m_twistCovariance; + ROS2WheelOdometryConfiguration m_odometryConfiguration; void OnOdometryEvent(); void OnPhysicsEvent(float physicsDeltaTime); diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometryConfiguration.cpp b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometryConfiguration.cpp new file mode 100644 index 000000000..5b179f1fa --- /dev/null +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometryConfiguration.cpp @@ -0,0 +1,42 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#include +#include +#include + +namespace ROS2 +{ + void ROS2WheelOdometryConfiguration::Reflect(AZ::ReflectContext* context) + { + ROS2OdometryCovariance::Reflect(context); + + if (AZ::SerializeContext* serialize = azrtti_cast(context)) + { + serialize->Class() + ->Version(1) + ->Field("Pose covariance", &ROS2WheelOdometryConfiguration::m_poseCovariance) + ->Field("Twist covariance", &ROS2WheelOdometryConfiguration::m_twistCovariance); + + if (AZ::EditContext* editContext = serialize->GetEditContext()) + { + editContext->Class("ROS2 Wheel Odometry configuration", "Wheel odometry sensor configuration") + ->DataElement( + AZ::Edit::UIHandlers::Default, + &ROS2WheelOdometryConfiguration::m_poseCovariance, + "Pose covariance", + "Set ROS pose covariance") + ->DataElement( + AZ::Edit::UIHandlers::Default, + &ROS2WheelOdometryConfiguration::m_twistCovariance, + "Twist covariance", + "Set ROS twist covariance"); + } + } + } +} // namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Source/ROS2SensorsModuleInterface.cpp b/Gems/ROS2Sensors/Code/Source/ROS2SensorsModuleInterface.cpp index 088ab466c..1b3e27db0 100644 --- a/Gems/ROS2Sensors/Code/Source/ROS2SensorsModuleInterface.cpp +++ b/Gems/ROS2Sensors/Code/Source/ROS2SensorsModuleInterface.cpp @@ -45,8 +45,8 @@ namespace ROS2Sensors m_descriptors.end(), { ROS2SensorsSystemComponent::CreateDescriptor(), - ROS2::ROS2SensorComponentBase::CreateDescriptor(), - ROS2::ROS2SensorComponentBase::CreateDescriptor(), + // ROS2::ROS2SensorComponentBase::CreateDescriptor(), + // ROS2::ROS2SensorComponentBase::CreateDescriptor(), ROS2::ROS2CameraSensorComponent::CreateDescriptor(), ROS2::ROS2SystemCameraComponent::CreateDescriptor(), ROS2::ROS2ImageEncodingConversionComponent::CreateDescriptor(), diff --git a/Gems/ROS2Sensors/Code/Source/Sensor/SensorHelpers.cpp b/Gems/ROS2Sensors/Code/Source/Sensor/SensorHelpers.cpp index 723b03da6..df99c7bbe 100644 --- a/Gems/ROS2Sensors/Code/Source/Sensor/SensorHelpers.cpp +++ b/Gems/ROS2Sensors/Code/Source/Sensor/SensorHelpers.cpp @@ -6,6 +6,7 @@ * */ +#include "ROS2Sensors/ROS2SensorsTypeIds.h" #include #include #include @@ -62,14 +63,19 @@ namespace ROS2 { // In ROS2Sensors gem we have at this moment two types of base classes for sensors, we need to check if the component is derived // from one of them. If we add more base classes for sensors in the future, we need to update this function. - if (azrtti_cast*>(component)) - { - return true; - } - if (azrtti_cast*>(component)) + // if (azrtti_cast*>(component)) + // { + // return true; + // } + // if (azrtti_cast*>(component)) + // { + // return true; + // } + if (component->GetUnderlyingComponentType() == AZ::TypeId(ROS2Sensors::ROS2SensorComponentBaseTypeId)) { return true; } + return false; } }; // namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/ros2sensors_api_files.cmake b/Gems/ROS2Sensors/Code/ros2sensors_api_files.cmake index 0f1dc1312..56762c72d 100644 --- a/Gems/ROS2Sensors/Code/ros2sensors_api_files.cmake +++ b/Gems/ROS2Sensors/Code/ros2sensors_api_files.cmake @@ -19,4 +19,12 @@ set(FILES Include/ROS2Sensors/Lidar/LidarRaycasterBus.h Include/ROS2Sensors/Lidar/LidarSystemBus.h Include/ROS2Sensors/Lidar/LidarRegistrarBus.h + + Include/ROS2Sensors/Configuration/ConfigurationBus.h + Include/ROS2Sensors/Configuration/ImuSensorConfiguration.h + Include/ROS2Sensors/Configuration/CameraSensorConfiguration.h + Include/ROS2Sensors/Configuration/ROS2OdometryCovariance.h + Include/ROS2Sensors/Configuration/ROS2WheelOdometryConfiguration.h + Include/ROS2Sensors/Configuration/LidarSensorConfiguration.h + ) diff --git a/Gems/ROS2Sensors/Code/ros2sensors_private_files.cmake b/Gems/ROS2Sensors/Code/ros2sensors_private_files.cmake index 059d6a5b4..b64d14b11 100644 --- a/Gems/ROS2Sensors/Code/ros2sensors_private_files.cmake +++ b/Gems/ROS2Sensors/Code/ros2sensors_private_files.cmake @@ -23,7 +23,6 @@ set(FILES Source/Camera/CameraSensorDescription.cpp Source/Camera/CameraSensorDescription.h Source/Camera/CameraSensorConfiguration.cpp - Source/Camera/CameraSensorConfiguration.h Source/Camera/CameraUtilities.cpp Source/Camera/CameraUtilities.h Source/Camera/ROS2CameraSensorComponent.cpp @@ -35,7 +34,6 @@ set(FILES Source/GNSS/ROS2GNSSSensorComponent.cpp Source/GNSS/ROS2GNSSSensorComponent.h Source/Imu/ImuSensorConfiguration.cpp - Source/Imu/ImuSensorConfiguration.h Source/Imu/ROS2ImuSensorComponent.cpp Source/Imu/ROS2ImuSensorComponent.h Source/Lidar/ClassSegmentationConfigurationComponent.cpp @@ -47,7 +45,6 @@ set(FILES Source/Lidar/LidarRegistrarSystemComponent.cpp Source/Lidar/LidarRegistrarSystemComponent.h Source/Lidar/LidarSensorConfiguration.cpp - Source/Lidar/LidarSensorConfiguration.h Source/Lidar/LidarSystem.cpp Source/Lidar/LidarSystem.h Source/Lidar/LidarTemplate.cpp @@ -63,7 +60,7 @@ set(FILES Source/Odometry/ROS2OdometrySensorComponent.cpp Source/Odometry/ROS2OdometrySensorComponent.h Source/Odometry/ROS2WheelOdometry.cpp + Source/Odometry/ROS2WheelOdometryConfiguration.cpp Source/Odometry/ROS2WheelOdometry.h Source/Odometry/ROS2OdometryCovariance.cpp - Source/Odometry/ROS2OdometryCovariance.h ) From e22b62f1f63fe6339d53043fd71b5f50c0bd7920 Mon Sep 17 00:00:00 2001 From: Artur Kamieniecki Date: Tue, 22 Apr 2025 14:20:16 +0200 Subject: [PATCH 03/16] EBus for configuration changes Signed-off-by: Artur Kamieniecki --- .../Configuration/LidarSensorConfiguration.h | 7 ++- .../Configuration}/LidarTemplate.h | 0 .../Configuration}/LidarTemplateUtils.h | 2 +- .../Sensor/ROS2SensorComponentBase.h | 6 ++- .../Camera/ROS2CameraSensorComponent.cpp | 50 ++++++++++++++----- .../Source/Camera/ROS2CameraSensorComponent.h | 7 +++ .../ROS2ContactSensorComponent.cpp | 10 ++++ .../ROS2ContactSensorComponent.h | 4 ++ .../Source/GNSS/ROS2GNSSSensorComponent.cpp | 10 ++++ .../Source/GNSS/ROS2GNSSSensorComponent.h | 4 ++ .../Source/Imu/ROS2ImuSensorComponent.cpp | 35 ++++++------- .../Code/Source/Imu/ROS2ImuSensorComponent.h | 11 ++-- .../Code/Source/Lidar/LidarCore.cpp | 5 ++ .../ROS2Sensors/Code/Source/Lidar/LidarCore.h | 4 ++ .../Code/Source/Lidar/LidarRaycaster.cpp | 2 +- .../Lidar/LidarRegistrarSystemComponent.cpp | 2 +- .../Source/Lidar/LidarSensorConfiguration.cpp | 19 +++++++ .../Code/Source/Lidar/LidarTemplate.cpp | 2 +- .../Code/Source/Lidar/LidarTemplateUtils.cpp | 2 +- .../Lidar/ROS2Lidar2DSensorComponent.cpp | 12 +++++ .../Source/Lidar/ROS2Lidar2DSensorComponent.h | 4 ++ .../Source/Lidar/ROS2LidarSensorComponent.cpp | 13 +++++ .../Source/Lidar/ROS2LidarSensorComponent.h | 4 ++ .../Odometry/ROS2OdometrySensorComponent.cpp | 12 +++++ .../Odometry/ROS2OdometrySensorComponent.h | 4 ++ .../Source/Odometry/ROS2WheelOdometry.cpp | 10 ++++ .../Code/Source/Odometry/ROS2WheelOdometry.h | 4 ++ .../Source/ROS2SensorsModuleInterface.cpp | 4 ++ .../Code/ros2sensors_api_files.cmake | 2 + .../Code/ros2sensors_private_files.cmake | 5 +- 30 files changed, 210 insertions(+), 46 deletions(-) rename Gems/ROS2Sensors/Code/{Source/Lidar => Include/ROS2Sensors/Configuration}/LidarTemplate.h (100%) rename Gems/ROS2Sensors/Code/{Source/Lidar => Include/ROS2Sensors/Configuration}/LidarTemplateUtils.h (97%) diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarSensorConfiguration.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarSensorConfiguration.h index da6115ad9..7243920db 100644 --- a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarSensorConfiguration.h +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarSensorConfiguration.h @@ -11,9 +11,8 @@ #include #include #include -#include -#include -#include +#include +#include #include namespace ROS2 @@ -59,7 +58,7 @@ namespace ROS2 //! Get all available lidar systems. AZStd::vector FetchLidarSystemList(); - const AZStd::vector m_availableModels; + AZStd::vector m_availableModels; AZStd::string m_lidarModelName = "CustomLidar2D"; void UpdateShowNoise(); diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplate.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarTemplate.h similarity index 100% rename from Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplate.h rename to Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarTemplate.h diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplateUtils.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarTemplateUtils.h similarity index 97% rename from Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplateUtils.h rename to Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarTemplateUtils.h index 3fbf069ac..d4a7c1d6f 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplateUtils.h +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarTemplateUtils.h @@ -9,7 +9,7 @@ #include #include -#include +#include namespace ROS2 { diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h index c85797e25..0d8a1b255 100644 --- a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -34,6 +35,7 @@ namespace ROS2 class ROS2SensorComponentBase : public AZ::Component , public SensorConfigurationRequestBus::Handler + , public ConfigurationBus::Handler { public: using SensorBaseType = ROS2SensorComponentBase; @@ -110,10 +112,12 @@ namespace ROS2 { AZ::EntityComponentIdPair entityComponentIdPair(GetEntityId(), GetId()); SensorConfigurationRequestBus::Handler::BusConnect(entityComponentIdPair); + ConfigurationBus::Handler::BusConnect(GetEntityId()); } void Deactivate() override { + ConfigurationBus::Handler::BusDisconnect(); SensorConfigurationRequestBus::Handler::BusDisconnect(); } @@ -149,7 +153,7 @@ namespace ROS2 m_eventSourceAdapter.Start(); } - //! Stops sensor and disconnects event callbacks passed through RSO2::ROS2SensorComponentBase::StartSensor. + //! Stops sensor and disconnects event callbacks passed through ROS2::ROS2SensorComponentBase::StartSensor. void StopSensor() { m_eventSourceAdapter.Stop(); diff --git a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.cpp index f0757dcb2..d2ad087b8 100644 --- a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.cpp @@ -7,6 +7,7 @@ */ #include "ROS2CameraSensorComponent.h" +#include "AzCore/Component/TickBus.h" #include "CameraUtilities.h" #include @@ -35,18 +36,8 @@ namespace ROS2 void ROS2CameraSensorComponent::Activate() { ROS2SensorComponentBase::Activate(); - if (m_cameraConfiguration.m_colorCamera && m_cameraConfiguration.m_depthCamera) - { - SetImageSource(); - } - else if (m_cameraConfiguration.m_colorCamera) - { - SetImageSource(); - } - else if (m_cameraConfiguration.m_depthCamera) - { - SetImageSource(); - } + + SetCameraSensorConfiguration(); const auto* component = GetEntity()->FindComponent(); AZ_Assert(component, "Entity has no ROS2FrameComponent"); @@ -137,4 +128,39 @@ namespace ROS2 } return AZStd::string{}; } + + void ROS2CameraSensorComponent::SetCameraSensorConfiguration() + { + if (m_cameraConfiguration.m_colorCamera && m_cameraConfiguration.m_depthCamera) + { + SetImageSource(); + } + else if (m_cameraConfiguration.m_colorCamera) + { + SetImageSource(); + } + else if (m_cameraConfiguration.m_depthCamera) + { + SetImageSource(); + } + } + + void ROS2CameraSensorComponent::SetConfiguration(const CameraSensorConfiguration configuration) + { + m_cameraConfiguration = configuration; + m_cameraSensor.reset(); + // SetCameraSensorConfiguration() is called in the next tick to ensure that the camera sensor is + // reset. + AZ::SystemTickBus::QueueFunction( + [this]() + { + SetCameraSensorConfiguration(); + }); + } + + const CameraSensorConfiguration ROS2CameraSensorComponent::GetConfiguration() const + { + return m_cameraConfiguration; + } + } // namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.h b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.h index a4bbf2d6b..80a24a70c 100644 --- a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.h @@ -73,6 +73,13 @@ namespace ROS2 ///! Requests message publication from camera sensor. void FrequencyTick(); + //! Sets the camera sensor and image source. + void SetCameraSensorConfiguration(); + + // ConfigurationBus overrides + void SetConfiguration(const CameraSensorConfiguration configuration) override; + const CameraSensorConfiguration GetConfiguration() const override; + CameraSensorConfiguration m_cameraConfiguration; AZStd::string m_frameName; AZStd::shared_ptr m_cameraSensor; diff --git a/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.cpp index b371250e4..cc25d64ae 100644 --- a/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.cpp @@ -209,4 +209,14 @@ namespace ROS2 m_activeContacts[event.m_body2->GetEntityId()] = AZStd::move(state); } } + + const ROS2ContactSensorConfiguration ROS2ContactSensorComponent::GetConfiguration() const + { + return {}; + } + + void ROS2ContactSensorComponent::SetConfiguration([[maybe_unused]] const ROS2ContactSensorConfiguration configuration) + { + // No configuration parameters + } } // namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.h b/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.h index d926453d5..2673a471b 100644 --- a/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.h @@ -60,6 +60,10 @@ namespace ROS2 void AddNewContact(const AzPhysics::CollisionEvent& event); + // Configuration Bus overrides + void SetConfiguration(const ROS2ContactSensorConfiguration configuration) override; + const ROS2ContactSensorConfiguration GetConfiguration() const override; + AZ::EntityId m_entityId; AZStd::string m_entityName = ""; diff --git a/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.cpp index 591fc27b4..cdf5d6188 100644 --- a/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.cpp @@ -122,4 +122,14 @@ namespace ROS2 m_gnssPublisher->publish(m_gnssMsg); } + void ROS2GNSSSensorComponent::SetConfiguration([[maybe_unused]] const ROS2GNSSSensorConfiguration configuration) + { + // This sensor does not have any configuration parameters. + } + const ROS2GNSSSensorConfiguration ROS2GNSSSensorComponent::GetConfiguration() const + { + // This sensor does not have any configuration parameters. + return {}; + } + } // namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.h b/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.h index 0cb0c00cc..dd84fa48d 100644 --- a/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.h @@ -57,6 +57,10 @@ namespace ROS2 //! @return Current entity position. [[nodiscard]] AZ::Transform GetCurrentPose() const; + // Configuration Bus overrides + void SetConfiguration(const ROS2GNSSSensorConfiguration configuration) override; + const ROS2GNSSSensorConfiguration GetConfiguration() const override; + std::shared_ptr> m_gnssPublisher; sensor_msgs::msg::NavSatFix m_gnssMsg; }; diff --git a/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp index ffd17e021..b6c5bd419 100644 --- a/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp @@ -93,9 +93,7 @@ namespace ROS2 const auto fullTopic = ROS2Names::GetNamespacedName(GetNamespace(), publisherConfig.m_topic); m_imuPublisher = ros2Node->create_publisher(fullTopic.data(), publisherConfig.GetQoS()); - m_linearAccelerationCovariance = ToDiagonalCovarianceMatrix(m_imuConfiguration.m_linearAccelerationVariance); - m_angularVelocityCovariance = ToDiagonalCovarianceMatrix(m_imuConfiguration.m_angularVelocityVariance); - m_orientationCovariance = ToDiagonalCovarianceMatrix(m_imuConfiguration.m_orientationVariance); + ConfigureSensor(); StartSensor( m_sensorConfiguration.m_frequency, @@ -206,19 +204,22 @@ namespace ROS2 return covarianceMatrix; } - // const ImuSensorConfiguration ROS2ImuSensorComponent::GetConfiguration() const - // { - // std::cout << "GetConfiguration" << std::endl; - // std::cout << "Real: " << m_imuConfiguration.m_filterSize << std::endl; - // return m_imuConfiguration; - // } - - // void ROS2ImuSensorComponent::SetConfiguration(const ImuSensorConfiguration configuration) - // { - // m_imuConfiguration = configuration; - // m_linearAccelerationCovariance = ToDiagonalCovarianceMatrix(m_imuConfiguration.m_linearAccelerationVariance); - // m_angularVelocityCovariance = ToDiagonalCovarianceMatrix(m_imuConfiguration.m_angularVelocityVariance); - // m_orientationCovariance = ToDiagonalCovarianceMatrix(m_imuConfiguration.m_orientationVariance); - // } + void ROS2ImuSensorComponent::ConfigureSensor() + { + m_linearAccelerationCovariance = ToDiagonalCovarianceMatrix(m_imuConfiguration.m_linearAccelerationVariance); + m_angularVelocityCovariance = ToDiagonalCovarianceMatrix(m_imuConfiguration.m_angularVelocityVariance); + m_orientationCovariance = ToDiagonalCovarianceMatrix(m_imuConfiguration.m_orientationVariance); + } + + const ImuSensorConfiguration ROS2ImuSensorComponent::GetConfiguration() const + { + return m_imuConfiguration; + } + + void ROS2ImuSensorComponent::SetConfiguration(const ImuSensorConfiguration configuration) + { + m_imuConfiguration = configuration; + ConfigureSensor(); + } } // namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.h b/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.h index a122c2917..6e3d498a4 100644 --- a/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.h @@ -41,11 +41,6 @@ namespace ROS2 void Deactivate() override; ////////////////////////////////////////////////////////////////////////// - // Configuration Bus - // void SetConfiguration(const ImuSensorConfiguration configuration) override; - - // const ImuSensorConfiguration GetConfiguration() const override; - private: std::shared_ptr> m_imuPublisher; sensor_msgs::msg::Imu m_imuMsg; @@ -68,6 +63,12 @@ namespace ROS2 AZ::Matrix3x3 ToDiagonalCovarianceMatrix(const AZ::Vector3& variance); + void ConfigureSensor(); + + // Configuration Bus + void SetConfiguration(const ImuSensorConfiguration configuration) override; + const ImuSensorConfiguration GetConfiguration() const override; + // Handle to the simulated physical body AzPhysics::SimulatedBodyHandle m_bodyHandle = AzPhysics::InvalidSimulatedBodyHandle; }; diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/LidarCore.cpp b/Gems/ROS2Sensors/Code/Source/Lidar/LidarCore.cpp index 12dd78f11..b80e0389c 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/LidarCore.cpp +++ b/Gems/ROS2Sensors/Code/Source/Lidar/LidarCore.cpp @@ -188,6 +188,11 @@ namespace ROS2 m_implementationToRaycasterMap.clear(); } + void LidarCore::UpdateConfig(const LidarSensorConfiguration& lidarConfiguration) + { + m_lidarConfiguration = lidarConfiguration; + } + LidarId LidarCore::GetLidarRaycasterId() const { return m_lidarRaycasterId; diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/LidarCore.h b/Gems/ROS2Sensors/Code/Source/Lidar/LidarCore.h index b5689c3e0..ee5a5b3e1 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/LidarCore.h +++ b/Gems/ROS2Sensors/Code/Source/Lidar/LidarCore.h @@ -35,6 +35,10 @@ namespace ROS2 //! Deinitialize when deactivating the lidar. void Deinit(); + //! Update the lidar configuration. + //! This function should only be called when the lidar is not active. + void UpdateConfig(const LidarSensorConfiguration& lidarConfiguration); + //! Perform a raycast. //! @return Results of the raycast. AZStd::optional PerformRaycast(); diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/LidarRaycaster.cpp b/Gems/ROS2Sensors/Code/Source/Lidar/LidarRaycaster.cpp index f798c3a52..997fb92ba 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/LidarRaycaster.cpp +++ b/Gems/ROS2Sensors/Code/Source/Lidar/LidarRaycaster.cpp @@ -13,7 +13,7 @@ #include #include #include -#include +#include #include namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/LidarRegistrarSystemComponent.cpp b/Gems/ROS2Sensors/Code/Source/Lidar/LidarRegistrarSystemComponent.cpp index f476a4693..c49e2af4a 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/LidarRegistrarSystemComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Lidar/LidarRegistrarSystemComponent.cpp @@ -9,7 +9,7 @@ #include #include #include -#include +#include namespace ROS2 { diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/LidarSensorConfiguration.cpp b/Gems/ROS2Sensors/Code/Source/Lidar/LidarSensorConfiguration.cpp index d3ed900c3..f47a82f84 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/LidarSensorConfiguration.cpp +++ b/Gems/ROS2Sensors/Code/Source/Lidar/LidarSensorConfiguration.cpp @@ -6,6 +6,7 @@ * */ +#include "Lidar/LidarRegistrarSystemComponent.h" #include #include #include @@ -89,6 +90,24 @@ namespace ROS2 m_lidarModelName = m_lidarParameters.m_name; } + // LidarSensorConfiguration& LidarSensorConfiguration::operator=(const LidarSensorConfiguration& other) + // { + // if (this != &other) + // { + // m_lidarSystemFeatures = other.m_lidarSystemFeatures; + // m_lidarSystem = other.m_lidarSystem; + // m_lidarModel = other.m_lidarModel; + // m_lidarParameters = other.m_lidarParameters; + // m_ignoredCollisionLayers = other.m_ignoredCollisionLayers; + // m_excludedEntities = other.m_excludedEntities; + // m_isSegmentationEnabled = other.m_isSegmentationEnabled; + // m_addPointsAtMax = other.m_addPointsAtMax; + // m_lidarModelName = other.m_lidarModelName; + // m_availableModels = other.m_availableModels; + // } + // return *this; + // } + void LidarSensorConfiguration::FetchLidarImplementationFeatures() { if (m_lidarSystem.empty()) diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplate.cpp b/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplate.cpp index 8d44449fd..bf12c2076 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplate.cpp +++ b/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplate.cpp @@ -7,7 +7,7 @@ */ #include -#include +#include namespace ROS2 { diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplateUtils.cpp b/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplateUtils.cpp index 3c963cc6a..6d71bc7fd 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplateUtils.cpp +++ b/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplateUtils.cpp @@ -8,7 +8,7 @@ #include #include -#include +#include namespace ROS2 { diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.cpp index dd302a05b..7fc57d1f2 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.cpp @@ -144,4 +144,16 @@ namespace ROS2 m_laserScanPublisher->publish(message); } + + const LidarSensorConfiguration ROS2Lidar2DSensorComponent::GetConfiguration() const + { + return m_lidarCore.m_lidarConfiguration; + } + + void ROS2Lidar2DSensorComponent::SetConfiguration(const LidarSensorConfiguration configuration) + { + m_lidarCore.Deinit(); + m_lidarCore.UpdateConfig(configuration); + m_lidarCore.Init(GetEntityId()); + } } // namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.h b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.h index 1ed6fbcdb..086d9109f 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.h @@ -46,6 +46,10 @@ namespace ROS2 void PublishRaycastResults(const RaycastResults& results); + // ConfigurationBus overrides + const LidarSensorConfiguration GetConfiguration() const override; + void SetConfiguration(const LidarSensorConfiguration configuration) override; + std::shared_ptr> m_laserScanPublisher; LidarCore m_lidarCore; diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.cpp index 8d526da86..e2c2e94ae 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.cpp @@ -285,4 +285,17 @@ namespace ROS2 m_segmentationClassesPublisher->publish(segmentationClasses); } } + + void ROS2LidarSensorComponent::SetConfiguration(const LidarSensorConfiguration configuration) + { + m_lidarCore.Deinit(); + m_lidarCore.UpdateConfig(configuration); + m_lidarCore.Init(GetEntityId()); + } + + const LidarSensorConfiguration ROS2LidarSensorComponent::GetConfiguration() const + { + return m_lidarCore.m_lidarConfiguration; + } + } // namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.h b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.h index 2cead5581..811bb07ca 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.h @@ -47,6 +47,10 @@ namespace ROS2 void FrequencyTick(); void PublishRaycastResults(const RaycastResults& results); + // ConfigurationBus overrides + const LidarSensorConfiguration GetConfiguration() const override; + void SetConfiguration(const LidarSensorConfiguration configuration) override; + bool m_canRaycasterPublish = false; std::shared_ptr> m_pointCloudPublisher; std::shared_ptr> m_segmentationClassesPublisher; diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.cpp index ba64b895c..153080e65 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.cpp @@ -142,4 +142,16 @@ namespace ROS2 m_odometryPublisher.reset(); ROS2SensorComponentBase::Deactivate(); } + + const ROS2OdometrySensorConfiguration ROS2OdometrySensorComponent::GetConfiguration() const + { + // This sensor does not have any configuration parameters. + return {}; + } + + void ROS2OdometrySensorComponent::SetConfiguration([[maybe_unused]] ROS2OdometrySensorConfiguration configuration) + { + // This sensor does not have any configuration parameters. + } + } // namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.h b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.h index cda840337..ec6595a78 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.h @@ -49,6 +49,10 @@ namespace ROS2 ////////////////////////////////////////////////////////////////////////// private: + // ConfigurationBus overrides + const ROS2OdometrySensorConfiguration GetConfiguration() const override; + void SetConfiguration(const ROS2OdometrySensorConfiguration configuration) override; + AzPhysics::SimulatedBodyHandle m_bodyHandle = AzPhysics::InvalidSimulatedBodyHandle; std::shared_ptr> m_odometryPublisher; nav_msgs::msg::Odometry m_odometryMsg; diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp index 34fa28fbe..a804326f7 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp @@ -132,4 +132,14 @@ namespace ROS2 m_odometryPublisher.reset(); ROS2SensorComponentBase::Deactivate(); } + + const ROS2WheelOdometryConfiguration ROS2WheelOdometryComponent::GetConfiguration() const + { + return m_odometryConfiguration; + } + + void ROS2WheelOdometryComponent::SetConfiguration(const ROS2WheelOdometryConfiguration configuration) + { + m_odometryConfiguration = configuration; + } } // namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h index 1012a390d..6b23d3baf 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h @@ -35,6 +35,10 @@ namespace ROS2 ////////////////////////////////////////////////////////////////////////// private: + // ConfigurationBus overrides + const ROS2WheelOdometryConfiguration GetConfiguration() const override; + void SetConfiguration(const ROS2WheelOdometryConfiguration configuration) override; + std::shared_ptr> m_odometryPublisher; nav_msgs::msg::Odometry m_odometryMsg; AZ::Vector3 m_robotPose{ 0 }; diff --git a/Gems/ROS2Sensors/Code/Source/ROS2SensorsModuleInterface.cpp b/Gems/ROS2Sensors/Code/Source/ROS2SensorsModuleInterface.cpp index 1b3e27db0..a132d80ea 100644 --- a/Gems/ROS2Sensors/Code/Source/ROS2SensorsModuleInterface.cpp +++ b/Gems/ROS2Sensors/Code/Source/ROS2SensorsModuleInterface.cpp @@ -29,6 +29,8 @@ #include #include +#include + namespace ROS2Sensors { AZ_TYPE_INFO_WITH_NAME_IMPL(ROS2SensorsModuleInterface, "ROS2SensorsModuleInterface", ROS2SensorsModuleInterfaceTypeId); @@ -59,6 +61,8 @@ namespace ROS2Sensors ROS2::LidarRegistrarSystemComponent::CreateDescriptor(), ROS2::ROS2OdometrySensorComponent::CreateDescriptor(), ROS2::ROS2WheelOdometryComponent::CreateDescriptor(), + + TestNamespace::TestComponent::CreateDescriptor(), }); } diff --git a/Gems/ROS2Sensors/Code/ros2sensors_api_files.cmake b/Gems/ROS2Sensors/Code/ros2sensors_api_files.cmake index 56762c72d..48d619c14 100644 --- a/Gems/ROS2Sensors/Code/ros2sensors_api_files.cmake +++ b/Gems/ROS2Sensors/Code/ros2sensors_api_files.cmake @@ -26,5 +26,7 @@ set(FILES Include/ROS2Sensors/Configuration/ROS2OdometryCovariance.h Include/ROS2Sensors/Configuration/ROS2WheelOdometryConfiguration.h Include/ROS2Sensors/Configuration/LidarSensorConfiguration.h + Include/ROS2Sensors/Configuration/LidarTemplate.h + Include/ROS2Sensors/Configuration/LidarTemplateUtils.h ) diff --git a/Gems/ROS2Sensors/Code/ros2sensors_private_files.cmake b/Gems/ROS2Sensors/Code/ros2sensors_private_files.cmake index b64d14b11..0c2ac8beb 100644 --- a/Gems/ROS2Sensors/Code/ros2sensors_private_files.cmake +++ b/Gems/ROS2Sensors/Code/ros2sensors_private_files.cmake @@ -48,9 +48,7 @@ set(FILES Source/Lidar/LidarSystem.cpp Source/Lidar/LidarSystem.h Source/Lidar/LidarTemplate.cpp - Source/Lidar/LidarTemplate.h Source/Lidar/LidarTemplateUtils.cpp - Source/Lidar/LidarTemplateUtils.h Source/Lidar/PointCloudMessageBuilder.cpp Source/Lidar/PointCloudMessageBuilder.h Source/Lidar/ROS2Lidar2DSensorComponent.cpp @@ -63,4 +61,7 @@ set(FILES Source/Odometry/ROS2WheelOdometryConfiguration.cpp Source/Odometry/ROS2WheelOdometry.h Source/Odometry/ROS2OdometryCovariance.cpp + + Source/TestComponent.cpp + Source/TestComponent.h ) From 3c4f79bcdb2fa7a9274bb6c86a1d1c18fd5434fb Mon Sep 17 00:00:00 2001 From: Artur Kamieniecki Date: Tue, 22 Apr 2025 14:53:28 +0200 Subject: [PATCH 04/16] Move files around Signed-off-by: Artur Kamieniecki --- .../CameraSensorConfiguration.h | 0 .../Configuration/ConfigurationBus.h | 1 - .../ImuSensorConfiguration.h | 0 .../LidarSensorConfiguration.h | 4 +-- .../{Configuration => Lidar}/LidarTemplate.h | 0 .../LidarTemplateUtils.h | 2 +- .../ROS2OdometryCovariance.h | 0 .../ROS2WheelOdometryConfiguration.h | 3 +- .../Camera/CameraSensorConfiguration.cpp | 2 +- .../Source/Camera/CameraSensorDescription.h | 2 +- .../Camera/ROS2CameraSensorComponent.cpp | 1 - .../Source/Camera/ROS2CameraSensorComponent.h | 2 +- .../Camera/ROS2CameraSensorEditorComponent.h | 2 +- .../Source/Imu/ImuSensorConfiguration.cpp | 2 +- .../Source/Imu/ROS2ImuSensorComponent.cpp | 1 - .../Code/Source/Imu/ROS2ImuSensorComponent.h | 5 ++-- .../ROS2Sensors/Code/Source/Lidar/LidarCore.h | 2 +- .../Code/Source/Lidar/LidarRaycaster.cpp | 2 +- .../Lidar/LidarRegistrarSystemComponent.cpp | 2 +- .../Source/Lidar/LidarSensorConfiguration.cpp | 20 +------------ .../Code/Source/Lidar/LidarTemplate.cpp | 2 +- .../Code/Source/Lidar/LidarTemplateUtils.cpp | 2 +- .../Source/Lidar/ROS2LidarSensorComponent.h | 2 +- .../Odometry/ROS2OdometryCovariance.cpp | 2 +- .../Source/Odometry/ROS2WheelOdometry.cpp | 2 +- .../Code/Source/Odometry/ROS2WheelOdometry.h | 2 +- .../ROS2WheelOdometryConfiguration.cpp | 4 +-- .../Source/ROS2SensorsModuleInterface.cpp | 6 ---- .../Code/Source/Sensor/SensorHelpers.cpp | 12 ++------ .../Code/ros2sensors_api_files.cmake | 30 +++++++++---------- .../Code/ros2sensors_private_files.cmake | 26 ++++++++-------- 31 files changed, 52 insertions(+), 91 deletions(-) rename Gems/ROS2Sensors/Code/Include/ROS2Sensors/{Configuration => Camera}/CameraSensorConfiguration.h (100%) rename Gems/ROS2Sensors/Code/Include/ROS2Sensors/{Configuration => Imu}/ImuSensorConfiguration.h (100%) rename Gems/ROS2Sensors/Code/Include/ROS2Sensors/{Configuration => Lidar}/LidarSensorConfiguration.h (95%) rename Gems/ROS2Sensors/Code/Include/ROS2Sensors/{Configuration => Lidar}/LidarTemplate.h (100%) rename Gems/ROS2Sensors/Code/Include/ROS2Sensors/{Configuration => Lidar}/LidarTemplateUtils.h (97%) rename Gems/ROS2Sensors/Code/Include/ROS2Sensors/{Configuration => Odometry}/ROS2OdometryCovariance.h (100%) rename Gems/ROS2Sensors/Code/Include/ROS2Sensors/{Configuration => Odometry}/ROS2WheelOdometryConfiguration.h (93%) diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/CameraSensorConfiguration.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Camera/CameraSensorConfiguration.h similarity index 100% rename from Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/CameraSensorConfiguration.h rename to Gems/ROS2Sensors/Code/Include/ROS2Sensors/Camera/CameraSensorConfiguration.h diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h index 347b2ac75..e3d416484 100644 --- a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h @@ -16,7 +16,6 @@ namespace ROS2 { class ConfigurationRequests : public AZ::ComponentBus { public: - // AZ_RTTI(ConfigurationRequests, "{44259aa4-ab03-43c9-baf2-77063640e925}"); using BusIdType = AZ::EntityId; static constexpr AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::ById; static constexpr AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Multiple; diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ImuSensorConfiguration.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Imu/ImuSensorConfiguration.h similarity index 100% rename from Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ImuSensorConfiguration.h rename to Gems/ROS2Sensors/Code/Include/ROS2Sensors/Imu/ImuSensorConfiguration.h diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarSensorConfiguration.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/LidarSensorConfiguration.h similarity index 95% rename from Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarSensorConfiguration.h rename to Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/LidarSensorConfiguration.h index 7243920db..d566609d9 100644 --- a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarSensorConfiguration.h +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/LidarSensorConfiguration.h @@ -11,8 +11,8 @@ #include #include #include -#include -#include +#include +#include #include namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarTemplate.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/LidarTemplate.h similarity index 100% rename from Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarTemplate.h rename to Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/LidarTemplate.h diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarTemplateUtils.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/LidarTemplateUtils.h similarity index 97% rename from Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarTemplateUtils.h rename to Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/LidarTemplateUtils.h index d4a7c1d6f..c4e1590a7 100644 --- a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/LidarTemplateUtils.h +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/LidarTemplateUtils.h @@ -9,7 +9,7 @@ #include #include -#include +#include namespace ROS2 { diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ROS2OdometryCovariance.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Odometry/ROS2OdometryCovariance.h similarity index 100% rename from Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ROS2OdometryCovariance.h rename to Gems/ROS2Sensors/Code/Include/ROS2Sensors/Odometry/ROS2OdometryCovariance.h diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ROS2WheelOdometryConfiguration.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Odometry/ROS2WheelOdometryConfiguration.h similarity index 93% rename from Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ROS2WheelOdometryConfiguration.h rename to Gems/ROS2Sensors/Code/Include/ROS2Sensors/Odometry/ROS2WheelOdometryConfiguration.h index 305258c5a..dc2a6b374 100644 --- a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ROS2WheelOdometryConfiguration.h +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Odometry/ROS2WheelOdometryConfiguration.h @@ -10,8 +10,7 @@ #include #include - -#include "ROS2OdometryCovariance.h" +#include namespace ROS2 { diff --git a/Gems/ROS2Sensors/Code/Source/Camera/CameraSensorConfiguration.cpp b/Gems/ROS2Sensors/Code/Source/Camera/CameraSensorConfiguration.cpp index 14132d7c8..0b3c446f6 100644 --- a/Gems/ROS2Sensors/Code/Source/Camera/CameraSensorConfiguration.cpp +++ b/Gems/ROS2Sensors/Code/Source/Camera/CameraSensorConfiguration.cpp @@ -8,7 +8,7 @@ #include #include -#include +#include namespace ROS2 { diff --git a/Gems/ROS2Sensors/Code/Source/Camera/CameraSensorDescription.h b/Gems/ROS2Sensors/Code/Source/Camera/CameraSensorDescription.h index c5fa1f066..143764523 100644 --- a/Gems/ROS2Sensors/Code/Source/Camera/CameraSensorDescription.h +++ b/Gems/ROS2Sensors/Code/Source/Camera/CameraSensorDescription.h @@ -7,7 +7,7 @@ */ #pragma once -#include +#include #include #include diff --git a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.cpp index d2ad087b8..dbaa05107 100644 --- a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.cpp @@ -7,7 +7,6 @@ */ #include "ROS2CameraSensorComponent.h" -#include "AzCore/Component/TickBus.h" #include "CameraUtilities.h" #include diff --git a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.h b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.h index 80a24a70c..2a3903354 100644 --- a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.h @@ -18,7 +18,7 @@ #include #include #include -#include +#include #include #include diff --git a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorEditorComponent.h b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorEditorComponent.h index d86bad3cd..317ad4187 100644 --- a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorEditorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorEditorComponent.h @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Source/Imu/ImuSensorConfiguration.cpp b/Gems/ROS2Sensors/Code/Source/Imu/ImuSensorConfiguration.cpp index ab66518ec..9227bdf70 100644 --- a/Gems/ROS2Sensors/Code/Source/Imu/ImuSensorConfiguration.cpp +++ b/Gems/ROS2Sensors/Code/Source/Imu/ImuSensorConfiguration.cpp @@ -8,7 +8,7 @@ #include #include -#include +#include namespace ROS2 { diff --git a/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp index b6c5bd419..2797ea394 100644 --- a/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp @@ -116,7 +116,6 @@ namespace ROS2 StopSensor(); m_bodyHandle = AzPhysics::InvalidSimulatedBodyHandle; m_imuPublisher.reset(); - // ConfigurationBus::Handler::BusDisconnect(); ROS2SensorComponentBase::Deactivate(); } diff --git a/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.h b/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.h index 6e3d498a4..3aba1468f 100644 --- a/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.h @@ -14,13 +14,12 @@ #include #include #include +#include +#include #include #include #include -#include -#include - namespace ROS2 { //! An IMU (Inertial Measurement Unit) sensor Component. diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/LidarCore.h b/Gems/ROS2Sensors/Code/Source/Lidar/LidarCore.h index ee5a5b3e1..3ba73b84b 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/LidarCore.h +++ b/Gems/ROS2Sensors/Code/Source/Lidar/LidarCore.h @@ -10,8 +10,8 @@ #include #include #include -#include #include +#include #include #include "LidarRaycaster.h" diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/LidarRaycaster.cpp b/Gems/ROS2Sensors/Code/Source/Lidar/LidarRaycaster.cpp index 997fb92ba..a52bc043e 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/LidarRaycaster.cpp +++ b/Gems/ROS2Sensors/Code/Source/Lidar/LidarRaycaster.cpp @@ -13,7 +13,7 @@ #include #include #include -#include +#include #include namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/LidarRegistrarSystemComponent.cpp b/Gems/ROS2Sensors/Code/Source/Lidar/LidarRegistrarSystemComponent.cpp index c49e2af4a..d630917d7 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/LidarRegistrarSystemComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Lidar/LidarRegistrarSystemComponent.cpp @@ -9,7 +9,7 @@ #include #include #include -#include +#include namespace ROS2 { diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/LidarSensorConfiguration.cpp b/Gems/ROS2Sensors/Code/Source/Lidar/LidarSensorConfiguration.cpp index f47a82f84..e572055a0 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/LidarSensorConfiguration.cpp +++ b/Gems/ROS2Sensors/Code/Source/Lidar/LidarSensorConfiguration.cpp @@ -9,7 +9,7 @@ #include "Lidar/LidarRegistrarSystemComponent.h" #include #include -#include +#include namespace ROS2 { @@ -90,24 +90,6 @@ namespace ROS2 m_lidarModelName = m_lidarParameters.m_name; } - // LidarSensorConfiguration& LidarSensorConfiguration::operator=(const LidarSensorConfiguration& other) - // { - // if (this != &other) - // { - // m_lidarSystemFeatures = other.m_lidarSystemFeatures; - // m_lidarSystem = other.m_lidarSystem; - // m_lidarModel = other.m_lidarModel; - // m_lidarParameters = other.m_lidarParameters; - // m_ignoredCollisionLayers = other.m_ignoredCollisionLayers; - // m_excludedEntities = other.m_excludedEntities; - // m_isSegmentationEnabled = other.m_isSegmentationEnabled; - // m_addPointsAtMax = other.m_addPointsAtMax; - // m_lidarModelName = other.m_lidarModelName; - // m_availableModels = other.m_availableModels; - // } - // return *this; - // } - void LidarSensorConfiguration::FetchLidarImplementationFeatures() { if (m_lidarSystem.empty()) diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplate.cpp b/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplate.cpp index bf12c2076..bea4e4f5d 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplate.cpp +++ b/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplate.cpp @@ -7,7 +7,7 @@ */ #include -#include +#include namespace ROS2 { diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplateUtils.cpp b/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplateUtils.cpp index 6d71bc7fd..06095a20c 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplateUtils.cpp +++ b/Gems/ROS2Sensors/Code/Source/Lidar/LidarTemplateUtils.cpp @@ -8,7 +8,7 @@ #include #include -#include +#include namespace ROS2 { diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.h b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.h index 811bb07ca..448e83523 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.h @@ -10,8 +10,8 @@ #include #include #include -#include #include +#include #include #include #include diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometryCovariance.cpp b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometryCovariance.cpp index f9c9cf5b8..35e338c30 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometryCovariance.cpp +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometryCovariance.cpp @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include namespace ROS2 diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp index a804326f7..8b6afb6e3 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp @@ -10,7 +10,7 @@ #include #include #include -#include +#include namespace ROS2 { diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h index 6b23d3baf..467597d03 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h @@ -9,7 +9,7 @@ #include #include -#include +#include #include #include #include diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometryConfiguration.cpp b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometryConfiguration.cpp index 5b179f1fa..e4bb8141c 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometryConfiguration.cpp +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometryConfiguration.cpp @@ -6,9 +6,9 @@ * */ -#include -#include #include +#include +#include namespace ROS2 { diff --git a/Gems/ROS2Sensors/Code/Source/ROS2SensorsModuleInterface.cpp b/Gems/ROS2Sensors/Code/Source/ROS2SensorsModuleInterface.cpp index a132d80ea..cb83988c4 100644 --- a/Gems/ROS2Sensors/Code/Source/ROS2SensorsModuleInterface.cpp +++ b/Gems/ROS2Sensors/Code/Source/ROS2SensorsModuleInterface.cpp @@ -29,8 +29,6 @@ #include #include -#include - namespace ROS2Sensors { AZ_TYPE_INFO_WITH_NAME_IMPL(ROS2SensorsModuleInterface, "ROS2SensorsModuleInterface", ROS2SensorsModuleInterfaceTypeId); @@ -47,8 +45,6 @@ namespace ROS2Sensors m_descriptors.end(), { ROS2SensorsSystemComponent::CreateDescriptor(), - // ROS2::ROS2SensorComponentBase::CreateDescriptor(), - // ROS2::ROS2SensorComponentBase::CreateDescriptor(), ROS2::ROS2CameraSensorComponent::CreateDescriptor(), ROS2::ROS2SystemCameraComponent::CreateDescriptor(), ROS2::ROS2ImageEncodingConversionComponent::CreateDescriptor(), @@ -61,8 +57,6 @@ namespace ROS2Sensors ROS2::LidarRegistrarSystemComponent::CreateDescriptor(), ROS2::ROS2OdometrySensorComponent::CreateDescriptor(), ROS2::ROS2WheelOdometryComponent::CreateDescriptor(), - - TestNamespace::TestComponent::CreateDescriptor(), }); } diff --git a/Gems/ROS2Sensors/Code/Source/Sensor/SensorHelpers.cpp b/Gems/ROS2Sensors/Code/Source/Sensor/SensorHelpers.cpp index df99c7bbe..879da7ad0 100644 --- a/Gems/ROS2Sensors/Code/Source/Sensor/SensorHelpers.cpp +++ b/Gems/ROS2Sensors/Code/Source/Sensor/SensorHelpers.cpp @@ -61,16 +61,8 @@ namespace ROS2 bool IsComponentROS2Sensor(const AZ::Component* component) { - // In ROS2Sensors gem we have at this moment two types of base classes for sensors, we need to check if the component is derived - // from one of them. If we add more base classes for sensors in the future, we need to update this function. - // if (azrtti_cast*>(component)) - // { - // return true; - // } - // if (azrtti_cast*>(component)) - // { - // return true; - // } + // The Base component implements the GetUndelyingComponentType() method. This enables us to check if the component + // is a ROS2 sensor, without the need to specify any template parameters. if (component->GetUnderlyingComponentType() == AZ::TypeId(ROS2Sensors::ROS2SensorComponentBaseTypeId)) { return true; diff --git a/Gems/ROS2Sensors/Code/ros2sensors_api_files.cmake b/Gems/ROS2Sensors/Code/ros2sensors_api_files.cmake index 48d619c14..583c4dfbe 100644 --- a/Gems/ROS2Sensors/Code/ros2sensors_api_files.cmake +++ b/Gems/ROS2Sensors/Code/ros2sensors_api_files.cmake @@ -7,26 +7,24 @@ # set(FILES - Include/ROS2Sensors/ROS2SensorsTypeIds.h - Include/ROS2Sensors/Sensor/SensorConfiguration.h - Include/ROS2Sensors/Sensor/SensorConfigurationRequestBus.h - Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h - Include/ROS2Sensors/Sensor/SensorHelper.h Include/ROS2Sensors/Camera/CameraCalibrationRequestBus.h Include/ROS2Sensors/Camera/CameraPostProcessingRequestBus.h + Include/ROS2Sensors/Camera/CameraSensorConfiguration.h + Include/ROS2Sensors/Configuration/ConfigurationBus.h Include/ROS2Sensors/GNSS/GNSSPostProcessingRequestBus.h + Include/ROS2Sensors/Imu/ImuSensorConfiguration.h Include/ROS2Sensors/Lidar/ClassSegmentationBus.h Include/ROS2Sensors/Lidar/LidarRaycasterBus.h - Include/ROS2Sensors/Lidar/LidarSystemBus.h Include/ROS2Sensors/Lidar/LidarRegistrarBus.h - - Include/ROS2Sensors/Configuration/ConfigurationBus.h - Include/ROS2Sensors/Configuration/ImuSensorConfiguration.h - Include/ROS2Sensors/Configuration/CameraSensorConfiguration.h - Include/ROS2Sensors/Configuration/ROS2OdometryCovariance.h - Include/ROS2Sensors/Configuration/ROS2WheelOdometryConfiguration.h - Include/ROS2Sensors/Configuration/LidarSensorConfiguration.h - Include/ROS2Sensors/Configuration/LidarTemplate.h - Include/ROS2Sensors/Configuration/LidarTemplateUtils.h - + Include/ROS2Sensors/Lidar/LidarSensorConfiguration.h + Include/ROS2Sensors/Lidar/LidarSystemBus.h + Include/ROS2Sensors/Lidar/LidarTemplate.h + Include/ROS2Sensors/Lidar/LidarTemplateUtils.h + Include/ROS2Sensors/Odometry/ROS2OdometryCovariance.h + Include/ROS2Sensors/Odometry/ROS2WheelOdometryConfiguration.h + Include/ROS2Sensors/ROS2SensorsTypeIds.h + Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h + Include/ROS2Sensors/Sensor/SensorConfiguration.h + Include/ROS2Sensors/Sensor/SensorConfigurationRequestBus.h + Include/ROS2Sensors/Sensor/SensorHelper.h ) diff --git a/Gems/ROS2Sensors/Code/ros2sensors_private_files.cmake b/Gems/ROS2Sensors/Code/ros2sensors_private_files.cmake index 0c2ac8beb..126fcdb53 100644 --- a/Gems/ROS2Sensors/Code/ros2sensors_private_files.cmake +++ b/Gems/ROS2Sensors/Code/ros2sensors_private_files.cmake @@ -7,28 +7,24 @@ # set(FILES - Source/ROS2SensorsModuleInterface.cpp - Source/ROS2SensorsModuleInterface.h - Source/Clients/ROS2SensorsSystemComponent.cpp - Source/Clients/ROS2SensorsSystemComponent.h - Source/Sensor/SensorConfiguration.cpp - Source/Sensor/SensorHelpers.cpp - Source/Camera/PostProcessing/ROS2ImageEncodingConversionComponent.cpp - Source/Camera/PostProcessing/ROS2ImageEncodingConversionComponent.h Source/Camera/CameraConstants.h Source/Camera/CameraPublishers.cpp Source/Camera/CameraPublishers.h Source/Camera/CameraSensor.cpp Source/Camera/CameraSensor.h + Source/Camera/CameraSensorConfiguration.cpp Source/Camera/CameraSensorDescription.cpp Source/Camera/CameraSensorDescription.h - Source/Camera/CameraSensorConfiguration.cpp Source/Camera/CameraUtilities.cpp Source/Camera/CameraUtilities.h + Source/Camera/PostProcessing/ROS2ImageEncodingConversionComponent.cpp + Source/Camera/PostProcessing/ROS2ImageEncodingConversionComponent.h Source/Camera/ROS2CameraSensorComponent.cpp Source/Camera/ROS2CameraSensorComponent.h Source/Camera/ROS2CameraSystemComponent.cpp Source/Camera/ROS2CameraSystemComponent.h + Source/Clients/ROS2SensorsSystemComponent.cpp + Source/Clients/ROS2SensorsSystemComponent.h Source/ContactSensor/ROS2ContactSensorComponent.cpp Source/ContactSensor/ROS2ContactSensorComponent.h Source/GNSS/ROS2GNSSSensorComponent.cpp @@ -55,13 +51,17 @@ set(FILES Source/Lidar/ROS2Lidar2DSensorComponent.h Source/Lidar/ROS2LidarSensorComponent.cpp Source/Lidar/ROS2LidarSensorComponent.h + Source/Odometry/ROS2OdometryCovariance.cpp Source/Odometry/ROS2OdometrySensorComponent.cpp Source/Odometry/ROS2OdometrySensorComponent.h Source/Odometry/ROS2WheelOdometry.cpp - Source/Odometry/ROS2WheelOdometryConfiguration.cpp Source/Odometry/ROS2WheelOdometry.h - Source/Odometry/ROS2OdometryCovariance.cpp + Source/Odometry/ROS2WheelOdometryConfiguration.cpp + Source/Sensor/SensorConfiguration.cpp + Source/Sensor/SensorHelpers.cpp + Source/ROS2SensorsModuleInterface.cpp + Source/ROS2SensorsModuleInterface.h - Source/TestComponent.cpp - Source/TestComponent.h + # Source/TestComponent.cpp + # Source/TestComponent.h ) From dcd0adb588b9761dcd5eac3b68cc3170b02c177a Mon Sep 17 00:00:00 2001 From: Artur Kamieniecki Date: Tue, 22 Apr 2025 15:59:31 +0200 Subject: [PATCH 05/16] Add backwards compatibilty to wheelOdometry Signed-off-by: Artur Kamieniecki --- .../Source/Odometry/ROS2WheelOdometry.cpp | 82 +++++++++++++++++++ .../Code/Source/Odometry/ROS2WheelOdometry.h | 20 +++++ 2 files changed, 102 insertions(+) diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp index 8b6afb6e3..b1d03e419 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp @@ -7,6 +7,9 @@ */ #include "ROS2WheelOdometry.h" +#include +#include +#include #include #include #include @@ -19,8 +22,87 @@ namespace ROS2 const char* WheelOdometryMsgType = "nav_msgs::msg::Odometry"; } + // Manual conversion between version without a configuration struct and with a configuration struct. + // This is done to maintain backwards compatibility with older versions of the component. + // This function checks if in the prefab there exits a member called "Twist covariance" or "Pose covariance". + // If it does, it will load the values into the new configuration struct. + // If it doesn't, it will treat the loaded values as the new configuration struct. + // Checking old members is used instead of checking the version of the component, + // because is default values are used O3DE does not create an empty member and initializes the component with default values. + AZ::JsonSerializationResult::Result JsonROS2WheelOdometryComponentConfigSerializer::Load( + void* outputValue, const AZ::Uuid& outputValueTypeId, const rapidjson::Value& inputValue, AZ::JsonDeserializerContext& context) + { + namespace JSR = AZ::JsonSerializationResult; + + auto configInstance = reinterpret_cast(outputValue); + AZ_Assert(configInstance, "Output value for JsonROS2WheelOdometryComponentConfigSerializer can't be null."); + + JSR::ResultCode result(JSR::Tasks::ReadField); + + const bool hasOldMembers = inputValue.HasMember("Twist covariance") || inputValue.HasMember("Pose covariance"); + if (hasOldMembers) + { + { + JSR::ResultCode componentIdLoadResult = ContinueLoadingFromJsonObjectField( + &configInstance->m_odometryConfiguration.m_poseCovariance, + azrtti_typeidm_odometryConfiguration.m_poseCovariance)>(), + inputValue, + "Pose covariance", + context); + + result.Combine(componentIdLoadResult); + } + + { + JSR::ResultCode componentIdLoadResult = ContinueLoadingFromJsonObjectField( + &configInstance->m_odometryConfiguration.m_twistCovariance, + azrtti_typeidm_odometryConfiguration.m_twistCovariance)>(), + inputValue, + "Twist covariance", + context); + + result.Combine(componentIdLoadResult); + } + } + else + { + { + JSR::ResultCode componentIdLoadResult = ContinueLoadingFromJsonObjectField( + &configInstance->m_odometryConfiguration, + azrtti_typeidm_odometryConfiguration)>(), + inputValue, + "Odometry configuration", + context); + + result.Combine(componentIdLoadResult); + } + } + { + JSR::ResultCode componentIdLoadResult = ContinueLoadingFromJsonObjectField( + &configInstance->m_sensorConfiguration, + azrtti_typeidm_sensorConfiguration)>(), + inputValue, + "Sensor configuration", + context); + + result.Combine(componentIdLoadResult); + } + + return context.Report( + result, + result.GetProcessing() != JSR::Processing::Halted ? "Successfully loaded ROS2FrameComponent information." + : "Failed to load ROS2FrameComponent information."); + } + + AZ_CLASS_ALLOCATOR_IMPL(JsonROS2WheelOdometryComponentConfigSerializer, AZ::SystemAllocator); + void ROS2WheelOdometryComponent::Reflect(AZ::ReflectContext* context) { + if (auto jsonContext = azrtti_cast(context)) + { + jsonContext->Serializer()->HandlesType(); + } + ROS2WheelOdometryConfiguration::Reflect(context); ROS2SensorComponentBase::Reflect(context); diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h index 467597d03..a78a3d6c2 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h @@ -16,12 +16,27 @@ namespace ROS2 { + class JsonROS2WheelOdometryComponentConfigSerializer : public AZ::BaseJsonSerializer + { + public: + AZ_RTTI(JsonROS2WheelOdometryComponentConfigSerializer, "{3f7f9be6-d964-4a55-b856-c03cc5754df0}", AZ::BaseJsonSerializer); + AZ_CLASS_ALLOCATOR_DECL; + + AZ::JsonSerializationResult::Result Load( + void* outputValue, + const AZ::Uuid& outputValueTypeId, + const rapidjson::Value& inputValue, + AZ::JsonDeserializerContext& context) override; + }; + //! Wheel odometry sensor component. //! It constructs and publishes an odometry message, which contains information about the vehicle's velocity and position in space. //! This is a physical sensor that takes a vehicle's configuration and computes updates from the wheels' rotations. //! @see nav_msgs package. class ROS2WheelOdometryComponent : public ROS2SensorComponentBase { + friend class JsonROS2WheelOdometryComponentConfigSerializer; + public: AZ_COMPONENT(ROS2WheelOdometryComponent, ROS2Sensors::ROS2WheelOdometryComponentTypeId, SensorBaseType); ROS2WheelOdometryComponent(); @@ -45,6 +60,11 @@ namespace ROS2 AZ::Quaternion m_robotRotation{ 0, 0, 0, 1 }; ROS2WheelOdometryConfiguration m_odometryConfiguration; + // Dirty value to check if the old configuration of the odometry sensor is used. + // This value is checked during activation and will mark the component as dirty, to force O3DE to + // reselialize and save the new preferences. + bool m_isDirty = false; + void OnOdometryEvent(); void OnPhysicsEvent(float physicsDeltaTime); }; From 3435dcf3e43f48aba7195c4c6fec579b50b45a3c Mon Sep 17 00:00:00 2001 From: Artur Kamieniecki Date: Tue, 22 Apr 2025 16:09:22 +0200 Subject: [PATCH 06/16] Cleanup Signed-off-by: Artur Kamieniecki --- Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp | 2 -- Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp | 5 +++-- Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h | 5 ----- Gems/ROS2Sensors/Code/ros2sensors_private_files.cmake | 3 --- 4 files changed, 3 insertions(+), 12 deletions(-) diff --git a/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp index 2797ea394..1d29793df 100644 --- a/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp @@ -84,8 +84,6 @@ namespace ROS2 { ROS2SensorComponentBase::Activate(); - // ConfigurationBus::Handler::BusConnect(GetEntityId()); - auto ros2Node = ROS2Interface::Get()->GetNode(); AZ_Assert(m_sensorConfiguration.m_publishersConfigurations.size() == 1, "Invalid configuration of publishers for IMU sensor"); m_imuMsg.header.frame_id = GetFrameID().c_str(); diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp index b1d03e419..08c037a9c 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp @@ -26,9 +26,10 @@ namespace ROS2 // This is done to maintain backwards compatibility with older versions of the component. // This function checks if in the prefab there exits a member called "Twist covariance" or "Pose covariance". // If it does, it will load the values into the new configuration struct. - // If it doesn't, it will treat the loaded values as the new configuration struct. - // Checking old members is used instead of checking the version of the component, + // If it doesn't, it will treat the loaded json as it would load the new version of the component. + // Checking old members is used instead of checking if there is a member called "Odometry configuration" // because is default values are used O3DE does not create an empty member and initializes the component with default values. + // Meaning if there does not exist a member called "Odometry configuration" this component could use old values or default ones. AZ::JsonSerializationResult::Result JsonROS2WheelOdometryComponentConfigSerializer::Load( void* outputValue, const AZ::Uuid& outputValueTypeId, const rapidjson::Value& inputValue, AZ::JsonDeserializerContext& context) { diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h index a78a3d6c2..2d93ef9bb 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h @@ -60,11 +60,6 @@ namespace ROS2 AZ::Quaternion m_robotRotation{ 0, 0, 0, 1 }; ROS2WheelOdometryConfiguration m_odometryConfiguration; - // Dirty value to check if the old configuration of the odometry sensor is used. - // This value is checked during activation and will mark the component as dirty, to force O3DE to - // reselialize and save the new preferences. - bool m_isDirty = false; - void OnOdometryEvent(); void OnPhysicsEvent(float physicsDeltaTime); }; diff --git a/Gems/ROS2Sensors/Code/ros2sensors_private_files.cmake b/Gems/ROS2Sensors/Code/ros2sensors_private_files.cmake index 126fcdb53..b4504dd58 100644 --- a/Gems/ROS2Sensors/Code/ros2sensors_private_files.cmake +++ b/Gems/ROS2Sensors/Code/ros2sensors_private_files.cmake @@ -61,7 +61,4 @@ set(FILES Source/Sensor/SensorHelpers.cpp Source/ROS2SensorsModuleInterface.cpp Source/ROS2SensorsModuleInterface.h - - # Source/TestComponent.cpp - # Source/TestComponent.h ) From 1977710536356ce8288483b43789f03630ecd705 Mon Sep 17 00:00:00 2001 From: Artur Kamieniecki Date: Tue, 22 Apr 2025 16:23:35 +0200 Subject: [PATCH 07/16] Add documentation Signed-off-by: Artur Kamieniecki --- .../ROS2Sensors/Configuration/ConfigurationBus.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h index e3d416484..5f622dd36 100644 --- a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h @@ -22,11 +22,14 @@ namespace ROS2 { virtual ~ConfigurationRequests() = default; - virtual const Configuration GetConfiguration() const { - return Configuration{}; - }; + //! Returns the current configuration of the component. + virtual const Configuration GetConfiguration() const = 0; - virtual void SetConfiguration(const Configuration configuration) {}; + //! Sets the configuration of the component. + //! Each component should handle the configuration change without fully reinitializing the ROS2 publisher. + //! This will allow to change the configuration of the component at runtime. + //! @param configuration The new configuration to set. + virtual void SetConfiguration(const Configuration configuration) = 0; }; template From 0594cf257ab39a2daf287563a1fad6a8db0ed6fb Mon Sep 17 00:00:00 2001 From: Artur Kamieniecki Date: Wed, 23 Apr 2025 11:56:18 +0200 Subject: [PATCH 08/16] Remove virtual destructor Signed-off-by: Artur Kamieniecki --- .../Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h index 5f622dd36..78e0d53f8 100644 --- a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Configuration/ConfigurationBus.h @@ -20,8 +20,6 @@ namespace ROS2 { static constexpr AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::ById; static constexpr AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Multiple; - virtual ~ConfigurationRequests() = default; - //! Returns the current configuration of the component. virtual const Configuration GetConfiguration() const = 0; From cf70147bee2228efc85757edd71417e558b87abb Mon Sep 17 00:00:00 2001 From: Artur Kamieniecki Date: Wed, 23 Apr 2025 12:33:53 +0200 Subject: [PATCH 09/16] WIP unit test Signed-off-by: Artur Kamieniecki --- Gems/ROS2Sensors/Code/CMakeLists.txt | 7 +- .../ROS2WheelOdometrySerializationTest.cpp | 99 +++++++++++++++++++ .../Tests/Tools/ROS2SensorsEditorTest.cpp | 2 +- .../Code/ros2sensors_editor_tests_files.cmake | 1 + 4 files changed, 106 insertions(+), 3 deletions(-) create mode 100644 Gems/ROS2Sensors/Code/Tests/Odometry/ROS2WheelOdometrySerializationTest.cpp diff --git a/Gems/ROS2Sensors/Code/CMakeLists.txt b/Gems/ROS2Sensors/Code/CMakeLists.txt index cd0d77819..d94d61bab 100644 --- a/Gems/ROS2Sensors/Code/CMakeLists.txt +++ b/Gems/ROS2Sensors/Code/CMakeLists.txt @@ -221,7 +221,7 @@ endif() # See if globally, tests are supported if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) # We globally support tests, see if we support tests on this platform for ${gem_name}.Tests - if(PAL_TRAIT_ROS2SENSORS_TEST_SUPPORTED) + if(PAL_TRAIT_TEST_GOOGLE_TEST_SUPPORTED) # We support ${gem_name}.Tests on this platform, add dependency on the Private Object target ly_add_target( NAME ${gem_name}.Tests ${PAL_TRAIT_TEST_TARGET_TYPE} @@ -249,7 +249,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) # If we are a host platform we want to add tools test like editor tests here if(PAL_TRAIT_BUILD_HOST_TOOLS) # We are a host platform, see if Editor tests are supported on this platform - if(PAL_TRAIT_ROS2SENSORS_EDITOR_TEST_SUPPORTED) + if(PAL_TRAIT_TEST_GOOGLE_TEST_SUPPORTED) # We support ${gem_name}.Editor.Tests on this platform, add ${gem_name}.Editor.Tests target which depends on # private ${gem_name}.Editor.Private.Object target ly_add_target( @@ -265,6 +265,9 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) BUILD_DEPENDENCIES PRIVATE AZ::AzTest + AZ::AzTestShared + AZ::AzToolsFramework + AZ::AzManipulatorTestFramework.Static Gem::${gem_name}.Editor.Private.Object ) diff --git a/Gems/ROS2Sensors/Code/Tests/Odometry/ROS2WheelOdometrySerializationTest.cpp b/Gems/ROS2Sensors/Code/Tests/Odometry/ROS2WheelOdometrySerializationTest.cpp new file mode 100644 index 000000000..aca9c367e --- /dev/null +++ b/Gems/ROS2Sensors/Code/Tests/Odometry/ROS2WheelOdometrySerializationTest.cpp @@ -0,0 +1,99 @@ +#include "AzCore/Component/Entity.h" +#include "AzCore/RTTI/ReflectContext.h" +#include "AzCore/Serialization/Json/BaseJsonSerializer.h" +#include "AzCore/Serialization/Json/JsonSerialization.h" +#include "AzCore/Serialization/SerializeContext.h" +#include "Odometry/ROS2WheelOdometry.h" +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +namespace UnitTest +{ + class ROS2SensorsTestEnvironment : public AZ::Test::GemTestEnvironment + { + // AZ::Test::GemTestEnvironment overrides ... + void AddGemsAndComponents() override; + AZ::ComponentApplication* CreateApplicationInstance() override; + void PostSystemEntityActivate() override; + + public: + ROS2SensorsTestEnvironment() = default; + ~ROS2SensorsTestEnvironment() override = default; + }; + + void ROS2SensorsTestEnvironment::AddGemsAndComponents() + { + AddActiveGems(AZStd::to_array({ "ROS2", "ROS2Sensors"})); + AddDynamicModulePaths({ "ROS2" }); + // AddComponentDescriptors(AZStd::initializer_list{ ROS2::ROS2WheelOdometryComponent::CreateDescriptor(), + // AZ::JsonSystemComponent::CreateDescriptor() }); + // AddRequiredComponents(AZStd::to_array({ AZ::JsonSystemComponent::TYPEINFO_Uuid() })); + } + + AZ::ComponentApplication* ROS2SensorsTestEnvironment::CreateApplicationInstance() + { + // Using ToolsTestApplication to have AzFramework and AzToolsFramework components. + return aznew UnitTest::ToolsTestApplication("ROS2SensorsTestEnvironment"); + } + + void ROS2SensorsTestEnvironment::PostSystemEntityActivate() + { + AZ::UserSettingsComponentRequestBus::Broadcast(&AZ::UserSettingsComponentRequests::DisableSaveOnFinalize); + } + + class ROS2SensorsTestFixture : public ::testing::Test + { + }; + + // Smoke test + TEST_F(ROS2SensorsTestFixture, WheelOdometryComponent) + { + // Create a WheelOdometryComponent and check if it is created successfully + // ROS2::ROS2WheelOdometryComponent wheelOdometryComponent; + // EXPECT_NE(wheelOdometryComponent, nullptr); + } + + // Store test + TEST_F(ROS2SensorsTestFixture, WheelOdometryComponentStore) + { + // // Create a WheelOdometryComponent and check if it is created successfully + // ROS2::ROS2WheelOdometryComponent wheelOdometryComponent; + // // EXPECT_NE(wheelOdometryComponent, nullptr); + + // // Create a JSON object to store the component's configuration + // rapidjson::Document document; + // document.SetObject(); + + // AZ::Entity entity; + // // auto* wheelOdometryComponent + + // auto jsonDocument = AZStd::make_unique(); + + // AZ::JsonDeserializerSettings settings; + // auto storeResult = AZ::JsonSerialization::Load(wheelOdometryComponent, *jsonDocument, settings); + + // // Check if the store operation was successful + // EXPECT_EQ(storeResult.GetOutcome(), AZ::JsonSerializationResult::Outcomes::Success); + } +} // namespace UnitTest + +// required to support running integration tests with Qt and PhysX +AZTEST_EXPORT int AZ_UNIT_TEST_HOOK_NAME(int argc, char** argv) +{ + ::testing::InitGoogleMock(&argc, argv); + AZ::Test::printUnusedParametersWarning(argc, argv); + AZ::Test::addTestEnvironments({ new UnitTest::ROS2SensorsTestEnvironment() }); + int result = RUN_ALL_TESTS(); + return result; +} + +IMPLEMENT_TEST_EXECUTABLE_MAIN(); diff --git a/Gems/ROS2Sensors/Code/Tests/Tools/ROS2SensorsEditorTest.cpp b/Gems/ROS2Sensors/Code/Tests/Tools/ROS2SensorsEditorTest.cpp index 40217ff9b..aeae68376 100644 --- a/Gems/ROS2Sensors/Code/Tests/Tools/ROS2SensorsEditorTest.cpp +++ b/Gems/ROS2Sensors/Code/Tests/Tools/ROS2SensorsEditorTest.cpp @@ -8,4 +8,4 @@ #include -AZ_UNIT_TEST_HOOK(DEFAULT_UNIT_TEST_ENV); +// AZ_UNIT_TEST_HOOK(DEFAULT_UNIT_TEST_ENV); diff --git a/Gems/ROS2Sensors/Code/ros2sensors_editor_tests_files.cmake b/Gems/ROS2Sensors/Code/ros2sensors_editor_tests_files.cmake index 564e5dfc2..99a4c3805 100644 --- a/Gems/ROS2Sensors/Code/ros2sensors_editor_tests_files.cmake +++ b/Gems/ROS2Sensors/Code/ros2sensors_editor_tests_files.cmake @@ -8,4 +8,5 @@ set(FILES Tests/Tools/ROS2SensorsEditorTest.cpp + Tests/Odometry/ROS2WheelOdometrySerializationTest.cpp ) From 58eef9fc49cc2da404e7035534c1fa4ba0c3e66b Mon Sep 17 00:00:00 2001 From: Artur Kamieniecki Date: Thu, 24 Apr 2025 09:37:33 +0200 Subject: [PATCH 10/16] Add serialization test Signed-off-by: Artur Kamieniecki --- .../Sensor/ROS2SensorComponentBase.h | 29 +- .../Source/Odometry/ROS2WheelOdometry.cpp | 41 +- .../ROS2WheelOdometrySerializationTest.cpp | 199 +- .../Tests/Tools/ROS2SensorsEditorTest.cpp | 46 +- repo.json | 9881 ----------------- 5 files changed, 196 insertions(+), 10000 deletions(-) delete mode 100644 repo.json diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h index 0d8a1b255..b3f30a769 100644 --- a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h @@ -46,20 +46,21 @@ namespace ROS2 { if (auto* serializeContext = azrtti_cast(context)) { - serializeContext->Class, AZ::Component>()->Version(1)->Field( - "SensorConfiguration", &ROS2SensorComponentBase::m_sensorConfiguration); - - if (auto* editContext = serializeContext->GetEditContext()) - { - editContext - ->Class>( - "ROS2 Sensor Component Base", "Base component for sensors") - ->DataElement( - AZ::Edit::UIHandlers::Default, - &ROS2SensorComponentBase::m_sensorConfiguration, - "Sensor configuration", - "Sensor configuration"); - } + serializeContext->Class, AZ::Component>()->Version(1); + // ->Field( + // "SensorConfiguration", &ROS2SensorComponentBase::m_sensorConfiguration); + + // if (auto* editContext = serializeContext->GetEditContext()) + // { + // editContext + // ->Class>( + // "ROS2 Sensor Component Base", "Base component for sensors") + // ->DataElement( + // AZ::Edit::UIHandlers::Default, + // &ROS2SensorComponentBase::m_sensorConfiguration, + // "Sensor configuration", + // "Sensor configuration"); + // } } } diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp index 08c037a9c..57640f5d3 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp @@ -104,29 +104,30 @@ namespace ROS2 jsonContext->Serializer()->HandlesType(); } - ROS2WheelOdometryConfiguration::Reflect(context); - ROS2SensorComponentBase::Reflect(context); + // ROS2WheelOdometryConfiguration::Reflect(context); + // ROS2SensorComponentBase::Reflect(context); if (auto* serialize = azrtti_cast(context)) { - serialize->Class()->Version(2)->Field( - "Odometry configuration", &ROS2WheelOdometryComponent::m_odometryConfiguration); - - if (auto* editContext = serialize->GetEditContext()) - { - editContext->Class("ROS2 Wheel Odometry Sensor", "Odometry sensor component") - ->ClassElement(AZ::Edit::ClassElements::EditorData, "") - ->Attribute(AZ::Edit::Attributes::Category, "ROS2") - ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC_CE("Game")) - ->Attribute(AZ::Edit::Attributes::Icon, "Editor/Icons/Components/ROS2WheelOdometrySensor.svg") - ->Attribute(AZ::Edit::Attributes::ViewportIcon, "Editor/Icons/Components/Viewport/ROS2WheelOdometrySensor.svg") - ->DataElement( - AZ::Edit::UIHandlers::Default, - &ROS2WheelOdometryComponent::m_odometryConfiguration, - "Odometry configuration", - "Odometry sensor configuration") - ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly); - } + serialize->Class()->Version(2); + // ->Field( + // "Odometry configuration", &ROS2WheelOdometryComponent::m_odometryConfiguration); + + // if (auto* editContext = serialize->GetEditContext()) + // { + // editContext->Class("ROS2 Wheel Odometry Sensor", "Odometry sensor component") + // ->ClassElement(AZ::Edit::ClassElements::EditorData, "") + // ->Attribute(AZ::Edit::Attributes::Category, "ROS2") + // ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC_CE("Game")) + // ->Attribute(AZ::Edit::Attributes::Icon, "Editor/Icons/Components/ROS2WheelOdometrySensor.svg") + // ->Attribute(AZ::Edit::Attributes::ViewportIcon, "Editor/Icons/Components/Viewport/ROS2WheelOdometrySensor.svg") + // ->DataElement( + // AZ::Edit::UIHandlers::Default, + // &ROS2WheelOdometryComponent::m_odometryConfiguration, + // "Odometry configuration", + // "Odometry sensor configuration") + // ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly); + // } } } diff --git a/Gems/ROS2Sensors/Code/Tests/Odometry/ROS2WheelOdometrySerializationTest.cpp b/Gems/ROS2Sensors/Code/Tests/Odometry/ROS2WheelOdometrySerializationTest.cpp index aca9c367e..b4568b1b2 100644 --- a/Gems/ROS2Sensors/Code/Tests/Odometry/ROS2WheelOdometrySerializationTest.cpp +++ b/Gems/ROS2Sensors/Code/Tests/Odometry/ROS2WheelOdometrySerializationTest.cpp @@ -1,99 +1,130 @@ -#include "AzCore/Component/Entity.h" -#include "AzCore/RTTI/ReflectContext.h" -#include "AzCore/Serialization/Json/BaseJsonSerializer.h" -#include "AzCore/Serialization/Json/JsonSerialization.h" -#include "AzCore/Serialization/SerializeContext.h" -#include "Odometry/ROS2WheelOdometry.h" -#include -#include -#include -#include +#include #include #include - -#include -#include -#include -#include +#include +#include namespace UnitTest { - class ROS2SensorsTestEnvironment : public AZ::Test::GemTestEnvironment - { - // AZ::Test::GemTestEnvironment overrides ... - void AddGemsAndComponents() override; - AZ::ComponentApplication* CreateApplicationInstance() override; - void PostSystemEntityActivate() override; - - public: - ROS2SensorsTestEnvironment() = default; - ~ROS2SensorsTestEnvironment() override = default; - }; - - void ROS2SensorsTestEnvironment::AddGemsAndComponents() - { - AddActiveGems(AZStd::to_array({ "ROS2", "ROS2Sensors"})); - AddDynamicModulePaths({ "ROS2" }); - // AddComponentDescriptors(AZStd::initializer_list{ ROS2::ROS2WheelOdometryComponent::CreateDescriptor(), - // AZ::JsonSystemComponent::CreateDescriptor() }); - // AddRequiredComponents(AZStd::to_array({ AZ::JsonSystemComponent::TYPEINFO_Uuid() })); - } - - AZ::ComponentApplication* ROS2SensorsTestEnvironment::CreateApplicationInstance() - { - // Using ToolsTestApplication to have AzFramework and AzToolsFramework components. - return aznew UnitTest::ToolsTestApplication("ROS2SensorsTestEnvironment"); - } - - void ROS2SensorsTestEnvironment::PostSystemEntityActivate() - { - AZ::UserSettingsComponentRequestBus::Broadcast(&AZ::UserSettingsComponentRequests::DisableSaveOnFinalize); - } - class ROS2SensorsTestFixture : public ::testing::Test { }; - // Smoke test - TEST_F(ROS2SensorsTestFixture, WheelOdometryComponent) + // Store test for the old schema, where there is no configuration class. + TEST_F(ROS2SensorsTestFixture, Deserialize_WhenOldSchemaProvided_StoresSuccessfully) { - // Create a WheelOdometryComponent and check if it is created successfully - // ROS2::ROS2WheelOdometryComponent wheelOdometryComponent; - // EXPECT_NE(wheelOdometryComponent, nullptr); + ROS2::ROS2WheelOdometryComponent wheelOdometryComponent; + + rapidjson::Document jsonDocument(rapidjson::kObjectType); + jsonDocument.Parse(R"({ + "Twist covariance": { + "Linear covariance": [ + 123.0, + 456.0, + 789.0 + ], + "Angular covariance": [ + 987.0, + 654.0, + 321.0 + ] + }, + "Pose covariance": { + "Linear covariance": [ + 321.0, + 654.0, + 987.0 + ], + "Angular covariance": [ + 789.0, + 456.0, + 123.0 + ] + } + })"); + + AZ::JsonDeserializerSettings settings; + auto storeResult = AZ::JsonSerialization::Load(wheelOdometryComponent, jsonDocument, settings); + + EXPECT_EQ(storeResult.GetOutcome(), AZ::JsonSerializationResult::Outcomes::PartialDefaults); + + rapidjson::Document document(rapidjson::kObjectType); + document.Parse("{}"); + + AZ::JsonSerializerSettings serializerSettings; + serializerSettings.m_keepDefaults = true; + + AZ::JsonSerializationResult::ResultCode resultCode = + AZ::JsonSerialization::Store(document, document.GetAllocator(), wheelOdometryComponent, serializerSettings); + + EXPECT_EQ(resultCode.GetOutcome(), AZ::JsonSerializationResult::Outcomes::Success); + + rapidjson::StringBuffer buffer; + rapidjson::Writer writer(buffer); + document.Accept(writer); + + const char* expectedOutput = + R"~({"Id":0,"SensorConfiguration":{"Visualize":true,"Publishing Enabled":true,"Frequency (HZ)":10.0,"Publishers":{"nav_msgs::msg::Odometry":{"Type":"nav_msgs::msg::Odometry","Topic":"odom","QoS":{"Reliability":2,"Durability":2,"Depth":5}}}},"Odometry configuration":{"Pose covariance":{"Linear covariance":[321.0,654.0,987.0],"Angular covariance":[789.0,456.0,123.0]},"Twist covariance":{"Linear covariance":[123.0,456.0,789.0],"Angular covariance":[987.0,654.0,321.0]}}})~"; + EXPECT_STREQ(buffer.GetString(), expectedOutput); } - // Store test - TEST_F(ROS2SensorsTestFixture, WheelOdometryComponentStore) + // Store test for the new schema, where there is a configuration class. + TEST_F(ROS2SensorsTestFixture, Deserialize_WhenNewSchemaProvided_StoresSuccessfully) { - // // Create a WheelOdometryComponent and check if it is created successfully - // ROS2::ROS2WheelOdometryComponent wheelOdometryComponent; - // // EXPECT_NE(wheelOdometryComponent, nullptr); - - // // Create a JSON object to store the component's configuration - // rapidjson::Document document; - // document.SetObject(); - - // AZ::Entity entity; - // // auto* wheelOdometryComponent - - // auto jsonDocument = AZStd::make_unique(); - - // AZ::JsonDeserializerSettings settings; - // auto storeResult = AZ::JsonSerialization::Load(wheelOdometryComponent, *jsonDocument, settings); - - // // Check if the store operation was successful - // EXPECT_EQ(storeResult.GetOutcome(), AZ::JsonSerializationResult::Outcomes::Success); + ROS2::ROS2WheelOdometryComponent wheelOdometryComponent; + + rapidjson::Document jsonDocument(rapidjson::kObjectType); + jsonDocument.Parse(R"({ + "Odometry configuration": { + "Twist covariance": { + "Linear covariance": [ + 123.0, + 456.0, + 789.0 + ], + "Angular covariance": [ + 987.0, + 654.0, + 321.0 + ] + }, + "Pose covariance": { + "Linear covariance": [ + 321.0, + 654.0, + 987.0 + ], + "Angular covariance": [ + 789.0, + 456.0, + 123.0 + ] + } + } + })"); + + AZ::JsonDeserializerSettings settings; + auto storeResult = AZ::JsonSerialization::Load(wheelOdometryComponent, jsonDocument, settings); + + EXPECT_EQ(storeResult.GetOutcome(), AZ::JsonSerializationResult::Outcomes::PartialDefaults); + + rapidjson::Document document(rapidjson::kObjectType); + document.Parse("{}"); + + AZ::JsonSerializerSettings serializerSettings; + serializerSettings.m_keepDefaults = true; + + AZ::JsonSerializationResult::ResultCode resultCode = + AZ::JsonSerialization::Store(document, document.GetAllocator(), wheelOdometryComponent, serializerSettings); + + EXPECT_EQ(resultCode.GetOutcome(), AZ::JsonSerializationResult::Outcomes::Success); + + rapidjson::StringBuffer buffer; + rapidjson::Writer writer(buffer); + document.Accept(writer); + + const char* expectedOutput = + R"~({"Id":0,"SensorConfiguration":{"Visualize":true,"Publishing Enabled":true,"Frequency (HZ)":10.0,"Publishers":{"nav_msgs::msg::Odometry":{"Type":"nav_msgs::msg::Odometry","Topic":"odom","QoS":{"Reliability":2,"Durability":2,"Depth":5}}}},"Odometry configuration":{"Pose covariance":{"Linear covariance":[321.0,654.0,987.0],"Angular covariance":[789.0,456.0,123.0]},"Twist covariance":{"Linear covariance":[123.0,456.0,789.0],"Angular covariance":[987.0,654.0,321.0]}}})~"; + EXPECT_STREQ(buffer.GetString(), expectedOutput); } } // namespace UnitTest - -// required to support running integration tests with Qt and PhysX -AZTEST_EXPORT int AZ_UNIT_TEST_HOOK_NAME(int argc, char** argv) -{ - ::testing::InitGoogleMock(&argc, argv); - AZ::Test::printUnusedParametersWarning(argc, argv); - AZ::Test::addTestEnvironments({ new UnitTest::ROS2SensorsTestEnvironment() }); - int result = RUN_ALL_TESTS(); - return result; -} - -IMPLEMENT_TEST_EXECUTABLE_MAIN(); diff --git a/Gems/ROS2Sensors/Code/Tests/Tools/ROS2SensorsEditorTest.cpp b/Gems/ROS2Sensors/Code/Tests/Tools/ROS2SensorsEditorTest.cpp index aeae68376..2f2ed4532 100644 --- a/Gems/ROS2Sensors/Code/Tests/Tools/ROS2SensorsEditorTest.cpp +++ b/Gems/ROS2Sensors/Code/Tests/Tools/ROS2SensorsEditorTest.cpp @@ -6,6 +6,50 @@ * */ +#include #include +#include +#include -// AZ_UNIT_TEST_HOOK(DEFAULT_UNIT_TEST_ENV); +namespace UnitTest +{ + class ROS2SensorsTestEnvironment : public AZ::Test::GemTestEnvironment + { + // AZ::Test::GemTestEnvironment overrides ... + void AddGemsAndComponents() override; + AZ::ComponentApplication* CreateApplicationInstance() override; + void PostSystemEntityActivate() override; + + public: + ROS2SensorsTestEnvironment() = default; + ~ROS2SensorsTestEnvironment() override = default; + }; + + void ROS2SensorsTestEnvironment::AddGemsAndComponents() + { + AddActiveGems(AZStd::to_array({ "ROS2", "ROS2Sensors" })); + AddDynamicModulePaths({ "ROS2", "ROS2Sensors" }); + } + + AZ::ComponentApplication* ROS2SensorsTestEnvironment::CreateApplicationInstance() + { + // Using ToolsTestApplication to have AzFramework and AzToolsFramework components. + return aznew UnitTest::ToolsTestApplication("ROS2SensorsTestEnvironment"); + } + + void ROS2SensorsTestEnvironment::PostSystemEntityActivate() + { + AZ::UserSettingsComponentRequestBus::Broadcast(&AZ::UserSettingsComponentRequests::DisableSaveOnFinalize); + } +} // namespace UnitTest + +AZTEST_EXPORT int AZ_UNIT_TEST_HOOK_NAME(int argc, char** argv) +{ + ::testing::InitGoogleMock(&argc, argv); + AZ::Test::printUnusedParametersWarning(argc, argv); + AZ::Test::addTestEnvironments({ new UnitTest::ROS2SensorsTestEnvironment() }); + int result = RUN_ALL_TESTS(); + return result; +} + +IMPLEMENT_TEST_EXECUTABLE_MAIN(); diff --git a/repo.json b/repo.json deleted file mode 100644 index 42c3c0e2b..000000000 --- a/repo.json +++ /dev/null @@ -1,9881 +0,0 @@ -{ - "repo_name": "O3DE Extras", - "origin": "o3de-extras", - "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", - "summary": "A repository to hold various gems, projects, and templates for the O3DE engine.", - "additional_info": "Extras gems, projects, and templates for O3DE. See the README.md at the root of this repository for more information", - "last_updated": "2025-02-20", - "$schemaVersion": "1.0.0", - "gems_data": [ - { - "gem_name": "AzQtComponentsForPython", - "display_name": "AzQtComponents For Python", - "license": "Apache-2.0 Or MIT", - "license_url": "https://github.com/o3de/o3de/blob/development/LICENSE.txt", - "origin": "Open 3D Engine - o3de.org", - "origin_url": "https://github.com/o3de/o3de", - "type": "Code", - "summary": "This gem provides a library to use the AzQtComponents library from Python.", - "canonical_tags": [ - "Gem" - ], - "user_tags": [ - "Scripting", - "UI" - ], - "icon_path": "preview.png", - "requirements": "", - "documentation_url": "", - "dependencies": [ - "EditorPythonBindings" - ], - "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", - "version": "1.0.0", - "versions_data": [ - { - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/azqtcomponentsforpython-1.0.0-gem.zip", - "sha256": "ef75e9811b11e081bd4d16d62b638208fe9f0bd8966cfaff937e64b59343f5f7", - "version": "1.0.0" - } - ] - }, - { - "gem_name": "OpenXRVk", - "display_name": "OpenXR Vulkan", - "license": "Apache-2.0 Or MIT", - "license_url": "https://github.com/o3de/o3de/blob/development/LICENSE.txt", - "origin": "Open 3D Engine - o3de.org", - "origin_url": "https://github.com/o3de/o3de", - "type": "Code", - "summary": "OpenXR Vulcan for Atom", - "canonical_tags": [ - "Gem" - ], - "user_tags": [], - "requirements": "", - "documentation_url": "", - "dependencies": [], - "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", - "version": "1.0.0", - "sha256": "dd58e9e95f7c4d4f107067a6d3a803da4eecd477610e9d67795777b49d5c892c", - "versions_data": [ - { - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/openxrvk-1.0.0-gem.zip", - "sha256": "cced7bcde96fb29f527542c72d7838319d199e272f2cac9d69dd171521883b0a", - "version": "1.0.0" - }, - { - "summary": "OpenXR Vulkan for Atom", - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/openxrvk-1.0.1-gem.zip", - "version": "1.0.1", - "sha256": "2595eb8743b0dfc7523eaa1b891a4e8314d73cc3bbfd1a8865f6837ff273ffd1" - } - ] - }, - { - "gem_name": "ProteusRobot", - "version": "1.0.0", - "display_name": "Proteus Robot", - "license": "Apache-2.0", - "license_url": "https://opensource.org/licenses/Apache-2.0", - "origin": "RobotecAI", - "origin_url": "https://github.com/o3de/o3de-extras/tree/development/Gems/ProteusRobot", - "type": "Asset", - "summary": "Proteus warehouse robot with Lidar sensor", - "canonical_tags": [ - "Gem" - ], - "user_tags": [ - "ProteusRobot" - ], - "platforms": [ - "" - ], - "icon_path": "preview.png", - "requirements": "Requires ROS 2 Gem for the Lidar to function", - "documentation_url": "https://www.o3de.org/docs/user-guide/interactivity/robotics/project-configuration/#ros-2-project-templates", - "dependencies": [], - "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", - "compatible_engines": [], - "engine_api_dependencies": [], - "restricted": "ProteusRobot", - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/proteusrobot-1.0.0-gem.zip", - "sha256": "ae3f973f061d1b8d52e3ced34dd9862ee48b64be4eebaebb4a585674a97e8b91", - "versions_data": [ - { - "sha256": "45c906788ed9a83b8ff74fd1b893a54f79e4d3e0674139839afb807260efa0e6", - "version": "1.0.0", - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/proteusrobot-1.0.0-gem.zip" - }, - { - "version": "1.1.0", - "license": "Apache-2.0 or MIT", - "origin_url": "https://robotec.ai", - "requirements": "Requires ROS 2 Gem", - "dependencies": [ - "ROS2>=3.1.0" - ], - "compatible_engines": [ - "o3de-sdk>=4.1.0", - "o3de>=4.1.0" - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/proteusrobot-1.1.0-gem.zip", - "sha256": "dec32d93221e2514b59e1ac056b74c771dc4109b4599b5cf290f27a3f2486615" - }, - { - "version": "2.0.0", - "license": "Apache-2.0 or MIT", - "origin_url": "https://robotec.ai", - "requirements": "Requires ROS 2 Gem", - "dependencies": [ - "ROS2>=3.1.0" - ], - "compatible_engines": [ - "o3de-sdk>=2.3.0", - "o3de>=2.3.0" - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/proteusrobot-2.0.0-gem.zip", - "sha256": "29eab27f4b78e43e157a9e5eb4565f5d29cecaf08b0c1f36ea40f03aa1640452" - } - ] - }, - { - "gem_name": "ROS2", - "version": "1.0.0", - "platforms": [ - "Linux" - ], - "display_name": "ROS2", - "license": "Apache-2.0", - "license_url": "https://opensource.org/licenses/Apache-2.0", - "origin": "RobotecAI", - "origin_url": "https://github.com/o3de/o3de-extras/development/Gems/ROS2", - "type": "Code", - "summary": "Tools and components to support creating simulations for ROS 2 systems such as robots", - "canonical_tags": [ - "Gem" - ], - "user_tags": [ - "ROS2" - ], - "icon_path": "preview.png", - "requirements": "Requires ROS 2 installation (supported distributions: Humble). Source your workspace before building the Gem", - "documentation_url": "https://o3de.org/docs/user-guide/gems/reference/design/ros2/", - "dependencies": [ - "Atom_RPI", - "Atom_Feature_Common", - "Atom_Component_DebugCamera", - "CommonFeaturesAtom", - "PhysX", - "StartingPointInput" - ], - "restricted": "ROS2", - "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", - "versions_data": [ - { - "compatible_engines": [ - "o3de-sdk==1.2.0", - "o3de>=1.2.0" - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2-1.0.0-gem.zip", - "sha256": "62db01423611893c366c7905b91b165ebfc5da4a09a08ddebddf188e98acdce4", - "version": "1.0.0" - }, - { - "version": "2.0.0", - "compatible_engines": [ - "o3de-sdk>=2.1.0", - "o3de>=2.1.0" - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2-2.0.0-gem.zip", - "sha256": "93a51bebd7d5b931996025d6622bb09a6c20d6071da625d57eddf80f285444af" - }, - { - "version": "3.1.0", - "compatible_engines": [ - "o3de-sdk>=2.3.0", - "o3de>=2.3.0" - ], - "dependencies": [ - "Atom_RPI", - "Atom_Feature_Common", - "Atom_Component_DebugCamera", - "CommonFeaturesAtom", - "PhysX5", - "PrimitiveAssets", - "StartingPointInput" - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2-3.1.0-gem.zip", - "sha256": "aace14afcbe3feda0be0b11cb3610d93ec8e3e55a7b2f185df51ea468e7e7554" - }, - { - "version": "3.1.1", - "origin_url": "https://robotec.ai", - "source_control_uri": "https://github.com/o3de/o3de-extras/development/Gems/ROS2", - "compatible_engines": [ - "o3de-sdk>=2.3.0", - "o3de>=2.3.0" - ], - "documentation_url": "https://docs.o3de.org/docs/user-guide/gems/reference/robotics/ros2/", - "dependencies": [ - "Atom_RPI", - "Atom_Feature_Common", - "Atom_Component_DebugCamera", - "CommonFeaturesAtom", - "PhysX5", - "PrimitiveAssets", - "StartingPointInput" - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2-3.1.1-gem.zip", - "sha256": "063fea6c2d70a778dcbd92d9b1be2fff36a058d83002f612fcbfa6526b41fcde" - }, - { - "version": "3.2.2", - "origin_url": "https://robotec.ai", - "source_control_uri": "https://github.com/o3de/o3de-extras/development/Gems/ROS2", - "compatible_engines": [ - "o3de-sdk>=2.3.0", - "o3de>=2.3.0" - ], - "documentation_url": "https://docs.o3de.org/docs/user-guide/gems/reference/robotics/ros2/", - "dependencies": [ - "Atom_RPI", - "Atom_Feature_Common", - "Atom_Component_DebugCamera", - "CommonFeaturesAtom", - "PhysX5", - "PrimitiveAssets", - "StartingPointInput" - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2-3.2.2-gem.zip", - "sha256": "86bf6c09c2545db10210752e7749ed9d9784e32200196f8f1110bc7a4f704636" - }, - { - "version": "3.2.3", - "origin_url": "https://robotec.ai", - "source_control_uri": "https://github.com/o3de/o3de-extras/development/Gems/ROS2", - "compatible_engines": [ - "o3de-sdk>=2.3.0", - "o3de>=2.3.0" - ], - "requirements": "Requires ROS 2 installation (supported distributions: Humble, Jazzy). Source your workspace before building the Gem", - "documentation_url": "https://docs.o3de.org/docs/user-guide/gems/reference/robotics/ros2/", - "dependencies": [ - "Atom_RPI", - "Atom_Feature_Common", - "Atom_Component_DebugCamera", - "CommonFeaturesAtom", - "PhysX5", - "PrimitiveAssets", - "StartingPointInput" - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2-3.2.3-gem.zip", - "sha256": "903ceef078984711d516ba9ab7466fb2165e9d3d447539cd10460c22d98563db" - } - ] - }, - { - "gem_name": "RosRobotSample", - "display_name": "ROS Robot Sample", - "license": "Apache-2.0 or MIT", - "license_url": "https://opensource.org/licenses/Apache-2.0", - "origin": "Ros2WarehouseDemo", - "origin_url": "https://github.com/o3de/o3de-extras/tree/main/Gems/RosRobotSample", - "type": "Asset", - "summary": "This project contains a sample robot asset", - "canonical_tags": [ - "Gem" - ], - "user_tags": [ - "RosRobotSample" - ], - "platforms": [ - "Linux" - ], - "icon_path": "preview.png", - "requirements": "", - "documentation_url": "", - "dependencies": [ - "ROS2" - ], - "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", - "restricted": "", - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/rosrobotsample-1.0.0-gem.zip", - "version": "1.0.0", - "sha256": "6df46fcd9fff1eaff025fce708a5ca89c178ea001056bae82cc30bb2f3a09a53", - "versions_data": [ - { - "sha256": "be8973571f51d61bd3e56f40ab2d757bd7013c6bb466fe9f04ebb11c13eb7312", - "version": "1.0.0", - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/rosrobotsample-1.0.0-gem.zip" - }, - { - "version": "1.1.0", - "origin": "RobotecAI", - "origin_url": "https://robotec.ai", - "summary": "Husarion ROSbot XL robot assets.", - "requirements": "Requires ROS 2 Gem", - "dependencies": [ - "ROS2>=3.1.0" - ], - "compatible_engines": [ - "o3de-sdk>=4.1.0", - "o3de>=4.1.0" - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/rosrobotsample-1.1.0-gem.zip", - "sha256": "9911d92616bc975a2b490c2190b087e92c2260c98431f13f1a431b9bd8e2ec59" - }, - { - "version": "2.0.0", - "origin": "RobotecAI", - "origin_url": "https://robotec.ai", - "summary": "Husarion ROSbot XL robot assets.", - "requirements": "Requires ROS 2 Gem", - "dependencies": [ - "ROS2>=3.1.0" - ], - "compatible_engines": [ - "o3de-sdk>=2.3.0", - "o3de>=2.3.0" - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/rosrobotsample-2.0.0-gem.zip", - "sha256": "92ddad5fea49a0ac615c5cea417a858f49a2a1fbed24b3b878ee3bff8f538827" - }, - { - "version": "2.0.1", - "origin": "RobotecAI", - "origin_url": "https://robotec.ai", - "summary": "Husarion ROSbot XL robot assets.", - "requirements": "Requires ROS 2 Gem", - "dependencies": [ - "ROS2>=3.1.0" - ], - "compatible_engines": [ - "o3de-sdk>=2.3.0", - "o3de>=2.3.0" - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/rosrobotsample-2.0.1-gem.zip", - "sha256": "a4ff12f401cd24d01e68c2058da5312bc1567c72fc26389593ec2e36bdfd3858" - } - ] - }, - { - "gem_name": "WarehouseAssets", - "display_name": "WarehouseAssets", - "license": "Apache-2.0 or MIT", - "license_url": "https://opensource.org/licenses/Apache-2.0", - "origin": "The name of the originator or creator", - "origin_url": "https://github.com/o3de/o3de-extras/tree/main/Gems/WarehouseAssets", - "type": "Asset", - "summary": "A set of prefabs and assets to build large warehouse scenes.", - "canonical_tags": [ - "Gem" - ], - "user_tags": [ - "WarehouseAssets" - ], - "platforms": [ - "" - ], - "icon_path": "preview.png", - "requirements": "", - "documentation_url": "", - "dependencies": [], - "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", - "compatible_engines": [], - "engine_api_dependencies": [], - "restricted": "", - "version": "1.0.0", - "sha256": "c7844c1a97141d3b6a183a744b0a123a5802b400c2cac75c746b5ccd664538bb", - "versions_data": [ - { - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/warehouseassets-1.0.0-gem.zip", - "sha256": "5e69416d9c25bbcdd205bdaddcae689716044347942631d6b3e56d31b95cf094", - "version": "1.0.0" - } - ] - }, - { - "gem_name": "WarehouseSample", - "display_name": "WarehouseSample", - "license": "Apache-2.0 or MIT", - "license_url": "https://opensource.org/licenses/Apache-2.0", - "origin": "WarehouseSample", - "origin_url": "https://github.com/o3de/o3de-extras/tree/main/Gems/WarehouseSample", - "type": "Asset", - "summary": "This project contains a Warehouse sample scene", - "canonical_tags": [ - "Gem" - ], - "user_tags": [ - "WarehouseSample" - ], - "platforms": [ - "" - ], - "icon_path": "preview.png", - "requirements": "", - "documentation_url": "", - "dependencies": [], - "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", - "restricted": "", - "sha256": "8653a144cd19906ed096f0056263e0f8adce17aec13cd254c8227386ac54ae24", - "versions_data": [ - { - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/warehousesample-1.0.0-gem.zip", - "version": "1.0.0", - "sha256": "2d7860a3b65e655834a06e66dd6e4b79892c62f11095d2a5ccec149fdaf77d49" - } - ] - }, - { - "gem_name": "XR", - "display_name": "XR", - "license": "Apache-2.0 Or MIT", - "license_url": "https://github.com/o3de/o3de/blob/development/LICENSE.txt", - "origin": "Open 3D Engine - o3de.org", - "origin_url": "https://github.com/o3de/o3de", - "type": "Code", - "summary": "XR", - "canonical_tags": [ - "Gem" - ], - "user_tags": [], - "requirements": "", - "documentation_url": "", - "dependencies": [], - "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", - "version": "1.0.0", - "sha256": "65f1f53a42a362db329f16cc1edbc5043f7f2b36c6055311c592e680c1cde20c", - "versions_data": [ - { - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/xr-1.0.0-gem.zip", - "sha256": "a7098465bd953864ab996c7eb515e4f46b9b3b601309a024a8aae6182243f3e1", - "version": "1.0.0" - }, - { - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/xr-1.0.1-gem.zip", - "version": "1.0.1", - "sha256": "325a826e513611b37155c2eaa8b5b5578fdca8d96f3ef4faf34bf49c7d39a2f0" - } - ] - }, - { - "gem_name": "AudioEngineWwise", - "version": "1.0.0", - "display_name": "Wwise Audio Engine", - "license": "Apache-2.0 Or MIT", - "license_url": "https://github.com/o3de/o3de/blob/development/LICENSE.txt", - "origin": "O3DE Extras", - "origin_url": "https://github.com/o3de/o3de-extras/development/Gems/AudioEngineWwise", - "type": "Code", - "summary": "The Wwise Audio Engine Gem provides support for Audiokinetic Wave Works Interactive Sound Engine (Wwise).", - "canonical_tags": [ - "Gem" - ], - "user_tags": [ - "Audio", - "Utility", - "Tools" - ], - "compatible_engines": [ - "o3de-sdk>=2.1.0", - "o3de>=2.1.0" - ], - "icon_path": "preview.png", - "requirements": "Users will need to download Wwise from the Audiokinetic Web Site.", - "documentation_url": "https://o3de.org/docs/user-guide/gems/reference/audio/wwise/audio-engine-wwise/", - "dependencies": [ - "AudioSystem" - ], - "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/audioenginewwise-1.0.0-gem.zip", - "sha256": "5bb813e841e45cbe9d195ca50815963df8d7d57def266f6a6a765d9b786b0d83" - }, - { - "gem_name": "WarehouseAutomation", - "version": "2.0.0", - "display_name": "Warehouse Automation", - "license": "Apache-2.0", - "license_url": "https://opensource.org/licenses/Apache-2.0", - "origin": "RobotecAI", - "origin_url": "https://robotec.ai", - "type": "Code", - "summary": "Gem for simulating an automated warehouse or factory", - "canonical_tags": [ - "Gem" - ], - "user_tags": [ - "WarehouseAutomation" - ], - "compatible_engines": [ - "o3de-sdk>=2.3.0", - "o3de>=2.3.0" - ], - "platforms": [ - "Linux" - ], - "icon_path": "preview.png", - "requirements": "This gem requires ROS 2 gem and PhysX5 gem.", - "dependencies": [ - "ROS2>=2.3.0" - ], - "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", - "restricted": "WarehouseAutomation", - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/warehouseautomation-1.1.0-gem.zip", - "sha256": "21dad916ebb07232d901bbdc80ba376369e3ce4e580dcbae7d69132558357eb8", - "versions_data": [ - { - "dependencies": [ - "ROS2>=3.1.0" - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/warehouseautomation-2.0.0-gem.zip", - "sha256": "8cccbe7fa40300683d210d70fc9867c0713ae2e1fd05656c84992a31123098f4", - "version": "2.0.0" - } - ] - } - ], - "templates": [ - "https://github.com/o3de/o3de-extras.git/Templates/Multiplayer", - "https://github.com/o3de/o3de-extras.git/Templates/Ros2FleetRobotTemplate", - "https://github.com/o3de/o3de-extras.git/Templates/Ros2ProjectTemplate", - "https://github.com/o3de/o3de-extras.git/Templates/Ros2RoboticManipulationTemplate" - ], - "templates_data": [ - { - "template_name": "Multiplayer", - "version": "2.0.0", - "origin": "Open 3D Engine - o3de.org", - "license": "https://opensource.org/licenses/MIT", - "display_name": "Multiplayer", - "summary": "A multiplayer project template. Includes a built in network 3rd person player, player spawner, and network filtering example.", - "canonical_tags": [ - "Template", - "Networking" - ], - "user_tags": [ - "Multiplayer" - ], - "icon_path": "preview.png", - "copyFiles": [ - { - "file": ".command_settings", - "isTemplated": false - }, - { - "file": ".gitignore", - "isTemplated": false - }, - { - "file": "AssetBundling/SeedLists/DefaultLevel.seed", - "isTemplated": false - }, - { - "file": "Assets/Characters/Attachments/Laser_Gun/gun.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Attachments/Laser_Gun/gun_gun.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Attachments/Laser_Gun/textures/gun_low_Default_BaseColor.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Attachments/Laser_Gun/textures/gun_low_Default_Emissive.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Attachments/Laser_Gun/textures/gun_low_Default_Height.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Attachments/Laser_Gun/textures/gun_low_Default_Metallic.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Attachments/Laser_Gun/textures/gun_low_Default_Normal.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Attachments/Laser_Gun/textures/gun_low_Default_Roughness.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Climbing Ladder.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Climbing Ladder.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Dying.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Dying.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Fall A Land To Run Forward.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Fall A Land To Run Forward.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Fall A Land To Standing Idle 01.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Fall A Land To Standing Idle 01.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Fall A Loop.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Fall A Loop.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Getting Up.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Getting Up.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Hit Reaction Pistol Front.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Hit Reaction Pistol Front.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Hit Reaction Pistol Left.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Hit Reaction Pistol Left.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Idle.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Idle.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Jump.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Jump.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Knocked Down.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Left Strafe Walking.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Left Strafe Walking.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Left Strafe.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Left Strafe.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Left Turn 90.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Left Turn 90.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Left Turn.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Left Turn.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Opening.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Opening.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Picking Up.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Picking Up.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Idle.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Idle.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Jump 2.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Jump 2.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Jump.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Jump.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Kneel To Stand.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Kneel To Stand.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Kneeling Idle.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Kneeling Idle.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Recoil.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Recoil.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Run Arc 2.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Run Arc 2.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Run Arc.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Run Arc.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Run Backward Arc 2.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Run Backward Arc 2.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Run Backward Arc.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Run Backward Arc.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Run Backward.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Run Backward.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Run.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Run.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Stand To Kneel.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Stand To Kneel.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Strafe 2.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Strafe 2.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Strafe.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Strafe.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Arc 2.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Arc 2.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Arc.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Arc.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Backward Arc 2.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Backward Arc 2.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Backward Arc.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Backward Arc.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Backward.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Backward.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Walk.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pistol Walk.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pull Heavy Object.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pull Heavy Object.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pushing.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Pushing.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Right Strafe Walking.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Right Strafe Walking.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Right Strafe.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Right Strafe.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Right Turn 90.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Right Turn 90.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Right Turn.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Right Turn.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Running Backward.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Running Backward.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Running Jump.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Running Jump.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Running.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Stunned.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Stunned.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Victory.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Victory.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Walking Backwards.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Walking Backwards.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Walking.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/Walking.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/running.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Animations/stub", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/LICENSE.txt", - "isTemplated": true - }, - { - "file": "Assets/Characters/Mixamo/Ybot/YBot.animgraph", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/YBot.emfxworkspace", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/YBot.motionset", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/skins/mixamo_logo.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/skins/ybot_body_base.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/skins/ybot_head_base.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/skins/ybot_joints_base.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/test_data/ybot_mesh_test.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/test_data/ybot_mesh_test_Body_MAT.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/test_data/ybot_mesh_test_Head_MAT.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/test_data/ybot_mesh_test_Joints_MAT.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/test_data/ybot_mesh_test_Left_Arm_MAT.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/test_data/ybot_mesh_test_Left_Leg_MAT.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/test_data/ybot_mesh_test_Logo_Plate_MAT.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/test_data/ybot_mesh_test_Right_Arm_MAT.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/test_data/ybot_mesh_test_Right_Leg_MAT.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_Joints_AO.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_Joints_basecolor.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_Joints_cavity.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_Joints_normal.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_body_ao.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_body_basecolor.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_body_cavity.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_body_normal.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_head_ao.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_head_basecolor.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_head_cavity.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_head_normal.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/textures/mixamo_logo_alpha.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/textures/mixamo_logo_basecolor.png", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/textures/ps838.tmp", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/ybot.fbx", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/ybot.fbx.assetinfo", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/ybot_Body_MAT.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/ybot_Head_MAT.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/ybot_Joints_MAT.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/ybot_Left_Arm_MAT.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/ybot_Left_Leg_MAT.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/ybot_Logo_Plate_MAT.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/ybot_Right_Arm_MAT.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/Ybot/ybot_Right_Leg_MAT.material", - "isTemplated": false - }, - { - "file": "Assets/Characters/Mixamo/readme.md", - "isTemplated": false - }, - { - "file": "Assets/InputBindings/player.inputbindings", - "isTemplated": false - }, - { - "file": "Assets/Prefabs/4x4x4BoxGrid.prefab", - "isTemplated": false - }, - { - "file": "Assets/Prefabs/Player.prefab", - "isTemplated": true - }, - { - "file": "Assets/Prefabs/laser_pistol.prefab", - "isTemplated": false - }, - { - "file": "Assets/UI/BasicHUD/BasicHUD.uicanvas", - "isTemplated": false - }, - { - "file": "Assets/UI/BasicHUD/Reticle.png", - "isTemplated": false - }, - { - "file": "Assets/UI/BasicHUD/Reticle.sprite", - "isTemplated": false - }, - { - "file": "CMakeLists.txt", - "isTemplated": true - }, - { - "file": "CMakePresets.json", - "isTemplated": false - }, - { - "file": "Config/default_aws_resource_mappings.json", - "isTemplated": false - }, - { - "file": "Config/shader_global_build_options.json", - "isTemplated": false - }, - { - "file": "Gem/${NameLower}_autogen_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/${NameLower}_client_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/${NameLower}_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${NameLower}_server_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/${NameLower}_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/${Name}Bus.h", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/${Name}TypeIds.h", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/GameplayEffectsNotificationBus.h", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/NetworkPrefabSpawnerInterface.h", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/WeaponNotificationBus.h", - "isTemplated": true - }, - { - "file": "Gem/Platform/Android/${NameLower}_android_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Android/${NameLower}_shared_android_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Android/PAL_android.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${NameLower}_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/${NameLower}_shared_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/PAL_linux.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${NameLower}_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/${NameLower}_shared_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/PAL_mac.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${NameLower}_shared_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/${NameLower}_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/PAL_windows.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/iOS/${NameLower}_ios_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/iOS/${NameLower}_shared_ios_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/iOS/PAL_ios.cmake", - "isTemplated": true - }, - { - "file": "Gem/Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}Module.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}Types.h", - "isTemplated": true - }, - { - "file": "Gem/Source/AutoGen/GameplayEffectsComponent.AutoComponent.xml", - "isTemplated": true - }, - { - "file": "Gem/Source/AutoGen/NetworkAiComponent.AutoComponent.xml", - "isTemplated": true - }, - { - "file": "Gem/Source/AutoGen/NetworkAnimationComponent.AutoComponent.xml", - "isTemplated": true - }, - { - "file": "Gem/Source/AutoGen/NetworkHealthComponent.AutoComponent.xml", - "isTemplated": true - }, - { - "file": "Gem/Source/AutoGen/NetworkPlayerMovementComponent.AutoComponent.xml", - "isTemplated": true - }, - { - "file": "Gem/Source/AutoGen/NetworkRandomComponent.AutoComponent.xml", - "isTemplated": true - }, - { - "file": "Gem/Source/AutoGen/NetworkSimplePlayerCameraComponent.AutoComponent.xml", - "isTemplated": true - }, - { - "file": "Gem/Source/AutoGen/NetworkWeaponsComponent.AutoComponent.xml", - "isTemplated": true - }, - { - "file": "Gem/Source/AutoGen/ScriptingPlayerMovementComponent.AutoComponent.xml", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/AttachPlayerWeaponComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/AttachPlayerWeaponComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/ExampleFilteredEntityComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/ExampleFilteredEntityComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/GameplayEffectsComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/GameplayEffectsComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/NetworkAiComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/NetworkAiComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/NetworkAnimationComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/NetworkAnimationComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/NetworkHealthComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/NetworkHealthComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/NetworkPlayerMovementComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/NetworkPlayerMovementComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/NetworkPrefabSpawnerComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/NetworkPrefabSpawnerComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/NetworkRandomComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/NetworkRandomComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/NetworkSimplePlayerCameraComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/NetworkSimplePlayerCameraComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/NetworkWeaponsComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/Components/NetworkWeaponsComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/Effects/GameEffect.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/Effects/GameEffect.h", - "isTemplated": true - }, - { - "file": "Gem/Source/Weapons/BaseWeapon.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/Weapons/BaseWeapon.h", - "isTemplated": true - }, - { - "file": "Gem/Source/Weapons/IWeapon.h", - "isTemplated": true - }, - { - "file": "Gem/Source/Weapons/ProjectileWeapon.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/Weapons/ProjectileWeapon.h", - "isTemplated": true - }, - { - "file": "Gem/Source/Weapons/SceneQuery.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/Weapons/SceneQuery.h", - "isTemplated": true - }, - { - "file": "Gem/Source/Weapons/TraceWeapon.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/Weapons/TraceWeapon.h", - "isTemplated": true - }, - { - "file": "Gem/Source/Weapons/WeaponGathers.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/Weapons/WeaponGathers.h", - "isTemplated": true - }, - { - "file": "Gem/Source/Weapons/WeaponTypes.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/Weapons/WeaponTypes.h", - "isTemplated": true - }, - { - "file": "Gem/gem.json", - "isTemplated": true - }, - { - "file": "Levels/DefaultLevel/DefaultLevel.prefab", - "isTemplated": false - }, - { - "file": "Platform/Android/android_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Android/android_project.json", - "isTemplated": true - }, - { - "file": "Platform/Linux/linux_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.json", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.json", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.json", - "isTemplated": false - }, - { - "file": "Platform/iOS/ios_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/iOS/ios_project.json", - "isTemplated": false - }, - { - "file": "Registry/Platform/Android/quality.setreg", - "isTemplated": false - }, - { - "file": "Registry/Platform/Linux/quality.setreg", - "isTemplated": false - }, - { - "file": "Registry/Platform/Mac/quality.setreg", - "isTemplated": false - }, - { - "file": "Registry/Platform/Windows/quality.setreg", - "isTemplated": false - }, - { - "file": "Registry/Platform/iOS/quality.setreg", - "isTemplated": false - }, - { - "file": "Registry/assetprocessor_settings.setreg", - "isTemplated": false - }, - { - "file": "Registry/awscoreconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/load_level.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdebugconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdefaultsceneconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxsystemconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/quality.client.setreg", - "isTemplated": false - }, - { - "file": "Registry/quality.headless.setreg", - "isTemplated": false - }, - { - "file": "Registry/quality.server.setreg", - "isTemplated": false - }, - { - "file": "Registry/quality.setreg", - "isTemplated": false - }, - { - "file": "Resources/GameSDK.ico", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_128.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_128_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_16.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_16_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_256.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_256_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_32.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_32_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_512.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_512_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Info.plist", - "isTemplated": true - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPadAppIcon152x152.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPadAppIcon76x76.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPadProAppIcon167x167.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPadSettingsIcon29x29.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPadSettingsIcon58x58.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPadSpotlightIcon40x40.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPadSpotlightIcon80x80.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPhoneAppIcon120x120.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPhoneAppIcon180x180.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPhoneSettingsIcon58x58.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPhoneSettingsIcon87x87.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPhoneSpotlightIcon120x120.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPhoneSpotlightIcon80x80.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1024x768.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1536x2048.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage2048x1536.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage768x1024.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x1136.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x960.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Info.plist", - "isTemplated": true - }, - { - "file": "Resources/Splash.bmp", - "isTemplated": false - }, - { - "file": "ShaderLib/README.md", - "isTemplated": false - }, - { - "file": "ShaderLib/scenesrg.srgi", - "isTemplated": false - }, - { - "file": "ShaderLib/viewsrg.srgi", - "isTemplated": false - }, - { - "file": "autoexec.cfg", - "isTemplated": false - }, - { - "file": "cmake/EngineFinder.cmake", - "isTemplated": false - }, - { - "file": "editor.cfg", - "isTemplated": false - }, - { - "file": "export.bat", - "isTemplated": false - }, - { - "file": "export.sh", - "isTemplated": false - }, - { - "file": "game.cfg", - "isTemplated": false - }, - { - "file": "preview.png", - "isTemplated": false - }, - { - "file": "project.json", - "isTemplated": true - } - ], - "createDirectories": [ - { - "dir": "AssetBundling" - }, - { - "dir": "AssetBundling/SeedLists" - }, - { - "dir": "Assets" - }, - { - "dir": "Assets/Characters" - }, - { - "dir": "Assets/Characters/Attachments" - }, - { - "dir": "Assets/Characters/Attachments/Laser_Gun" - }, - { - "dir": "Assets/Characters/Attachments/Laser_Gun/textures" - }, - { - "dir": "Assets/Characters/Mixamo" - }, - { - "dir": "Assets/Characters/Mixamo/Animations" - }, - { - "dir": "Assets/Characters/Mixamo/Ybot" - }, - { - "dir": "Assets/Characters/Mixamo/Ybot/skins" - }, - { - "dir": "Assets/Characters/Mixamo/Ybot/test_data" - }, - { - "dir": "Assets/Characters/Mixamo/Ybot/textures" - }, - { - "dir": "Assets/InputBindings" - }, - { - "dir": "Assets/Prefabs" - }, - { - "dir": "Assets/UI" - }, - { - "dir": "Assets/UI/BasicHUD" - }, - { - "dir": "Config" - }, - { - "dir": "Gem" - }, - { - "dir": "Gem/Include" - }, - { - "dir": "Gem/Include/${Name}" - }, - { - "dir": "Gem/Platform" - }, - { - "dir": "Gem/Platform/Android" - }, - { - "dir": "Gem/Platform/Linux" - }, - { - "dir": "Gem/Platform/Mac" - }, - { - "dir": "Gem/Platform/Windows" - }, - { - "dir": "Gem/Platform/iOS" - }, - { - "dir": "Gem/Registry" - }, - { - "dir": "Gem/Source" - }, - { - "dir": "Gem/Source/AutoGen" - }, - { - "dir": "Gem/Source/Components" - }, - { - "dir": "Gem/Source/Effects" - }, - { - "dir": "Gem/Source/Weapons" - }, - { - "dir": "Levels" - }, - { - "dir": "Levels/DefaultLevel" - }, - { - "dir": "Platform" - }, - { - "dir": "Platform/Android" - }, - { - "dir": "Platform/Linux" - }, - { - "dir": "Platform/Mac" - }, - { - "dir": "Platform/Windows" - }, - { - "dir": "Platform/iOS" - }, - { - "dir": "Registry" - }, - { - "dir": "Registry/Platform" - }, - { - "dir": "Registry/Platform/Android" - }, - { - "dir": "Registry/Platform/Linux" - }, - { - "dir": "Registry/Platform/Mac" - }, - { - "dir": "Registry/Platform/Windows" - }, - { - "dir": "Registry/Platform/iOS" - }, - { - "dir": "Resources" - }, - { - "dir": "Resources/Platform" - }, - { - "dir": "Resources/Platform/Mac" - }, - { - "dir": "Resources/Platform/Mac/Images.xcassets" - }, - { - "dir": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset" - }, - { - "dir": "Resources/Platform/iOS" - }, - { - "dir": "Resources/Platform/iOS/Images.xcassets" - }, - { - "dir": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset" - }, - { - "dir": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage" - }, - { - "dir": "ShaderLib" - }, - { - "dir": "cmake" - } - ], - "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/multiplayer-2.0.0-template.zip", - "sha256": "f6eaa01c0a66fef0a9fa55e00637ae087f11287f30540ccd479c2988f9e41ab4" - }, - { - "template_name": "Ros2FleetRobotTemplate", - "version": "1.0.0", - "origin": "Open 3D Engine Extras", - "origin_url": "https://github.com/o3de/o3de-extras", - "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", - "license_url": "https://github.com/o3de/o3de-extras/tree/development/Templates/Ros2FleetRobotTemplate/Template/LICENSE.txt", - "display_name": "ROS2 Fleet Robot", - "summary": "Template for ROS2 multi-robot project.", - "canonical_tags": [], - "user_tags": [ - "Ros2FleetRobotTemplate", - "ROS2", - "ROS" - ], - "icon_path": "preview.png", - "copyFiles": [ - { - "file": ".gitignore", - "isTemplated": false - }, - { - "file": "CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Config/shader_global_build_options.json", - "isTemplated": false - }, - { - "file": "Gem/${Name}_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${Name}_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/${Name}Bus.h", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${Name}_linux_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${Name}_shared_linux_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/PAL_linux.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${Name}_mac_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${Name}_shared_mac_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/PAL_mac.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${Name}_shared_windows_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${Name}_windows_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/PAL_windows.cmake", - "isTemplated": true - }, - { - "file": "Gem/Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}Module.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/enabled_gems.cmake", - "isTemplated": true - }, - { - "file": "Gem/gem.json", - "isTemplated": true - }, - { - "file": "Levels/Warehouse/Warehouse.prefab", - "isTemplated": false - }, - { - "file": "Levels/playground/playground.prefab", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.cmake", - "isTemplated": true - }, - { - "file": "Platform/Linux/linux_project.json", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.cmake", - "isTemplated": true - }, - { - "file": "Platform/Mac/mac_project.json", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.cmake", - "isTemplated": true - }, - { - "file": "Platform/Windows/windows_project.json", - "isTemplated": false - }, - { - "file": "Registry/assetprocessor_settings.setreg", - "isTemplated": false - }, - { - "file": "Registry/awscoreconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdebugconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdefaultsceneconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxsystemconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Resources/GameSDK.ico", - "isTemplated": false - }, - { - "file": "Resources/LegacyLogoLauncher.bmp", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Info.plist", - "isTemplated": true - }, - { - "file": "ShaderLib/README.md", - "isTemplated": false - }, - { - "file": "ShaderLib/scenesrg.srgi", - "isTemplated": true - }, - { - "file": "ShaderLib/viewsrg.srgi", - "isTemplated": true - }, - { - "file": "Passes/ContrastAdaptiveSharpening.pass", - "isTemplated": false - }, - { - "file": "Passes/MainRenderPipeline.azasset", - "isTemplated": false - }, - { - "file": "Passes/PostProcessParent.pass", - "isTemplated": false - }, - { - "file": "Passes/SMAAConfiguration.azasset", - "isTemplated": false - }, - { - "file": "Passes/Taa.pass", - "isTemplated": false - }, - { - "file": "autoexec.cfg", - "isTemplated": false - }, - { - "file": "cmake/EngineFinder.cmake", - "isTemplated": false - }, - { - "file": "game.cfg", - "isTemplated": false - }, - { - "file": "preview.png", - "isTemplated": false - }, - { - "file": "project.json", - "isTemplated": true - } - ], - "createDirectories": [ - { - "dir": "Assets" - }, - { - "dir": "Config" - }, - { - "dir": "Gem" - }, - { - "dir": "Gem/Include" - }, - { - "dir": "Gem/Include/${Name}" - }, - { - "dir": "Gem/Platform" - }, - { - "dir": "Gem/Platform/Linux" - }, - { - "dir": "Gem/Platform/Mac" - }, - { - "dir": "Gem/Platform/Windows" - }, - { - "dir": "Gem/Registry" - }, - { - "dir": "Gem/Source" - }, - { - "dir": "Levels" - }, - { - "dir": "Levels/Warehouse" - }, - { - "dir": "Levels/playground" - }, - { - "dir": "Levels/playground/_savebackup" - }, - { - "dir": "Levels/playground/_savebackup/2023-02-21 [13.25.33]" - }, - { - "dir": "Passes" - }, - { - "dir": "Platform" - }, - { - "dir": "Platform/Android" - }, - { - "dir": "Platform/Linux" - }, - { - "dir": "Platform/Mac" - }, - { - "dir": "Platform/Windows" - }, - { - "dir": "Registry" - }, - { - "dir": "Resources" - }, - { - "dir": "Resources/Platform" - }, - { - "dir": "Resources/Platform/Mac" - }, - { - "dir": "Resources/Platform/Mac/Images.xcassets" - }, - { - "dir": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset" - }, - { - "dir": "ShaderLib" - }, - { - "dir": "Shaders" - }, - { - "dir": "Shaders/ShaderResourceGroups" - }, - { - "dir": "cmake" - }, - { - "dir": "proteus_nav" - }, - { - "dir": "proteus_nav/src" - }, - { - "dir": "proteus_nav/src/proteus_nav" - }, - { - "dir": "proteus_nav/src/proteus_nav/launch" - }, - { - "dir": "proteus_nav/src/proteus_nav/launch/__pycache__" - }, - { - "dir": "proteus_nav/src/proteus_nav/launch/config" - }, - { - "dir": "proteus_nav/src/proteus_nav/proteus_nav" - }, - { - "dir": "proteus_nav/src/proteus_nav/resource" - }, - { - "dir": "proteus_nav/src/proteus_nav/test" - }, - { - "dir": "proteus_nav/src/proteus_nav/test/__pycache__" - } - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2fleetrobottemplate-1.0.0-template.zip", - "sha256": "1c9d48b064881c41a98315839fe079eb58bd414445dfaa0b695a00109d5bab02", - "versions_data": [ - { - "sha256": "5617f52c2da6c8f869c2073d3b10b8941d71af8696d3593e90431b8df7be2497", - "version": "1.0.0", - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2fleetrobottemplate-1.0.0-template.zip" - }, - { - "version": "1.2.0", - "copyFiles": [ - { - "file": ".gitignore", - "isTemplated": false - }, - { - "file": "CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Config/shader_global_build_options.json", - "isTemplated": false - }, - { - "file": "Gem/${Name}_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${Name}_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/${Name}Bus.h", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${Name}_linux_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${Name}_shared_linux_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/PAL_linux.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${Name}_mac_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${Name}_shared_mac_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/PAL_mac.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${Name}_shared_windows_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${Name}_windows_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/PAL_windows.cmake", - "isTemplated": true - }, - { - "file": "Gem/Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}Module.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/gem.json", - "isTemplated": true - }, - { - "file": "Levels/Warehouse/Warehouse.prefab", - "isTemplated": false - }, - { - "file": "Levels/playground/playground.prefab", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.cmake", - "isTemplated": true - }, - { - "file": "Platform/Linux/linux_project.json", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.cmake", - "isTemplated": true - }, - { - "file": "Platform/Mac/mac_project.json", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.cmake", - "isTemplated": true - }, - { - "file": "Platform/Windows/windows_project.json", - "isTemplated": false - }, - { - "file": "Registry/assetprocessor_settings.setreg", - "isTemplated": false - }, - { - "file": "Registry/awscoreconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdebugconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdefaultsceneconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxsystemconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Resources/GameSDK.ico", - "isTemplated": false - }, - { - "file": "Resources/LegacyLogoLauncher.bmp", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Info.plist", - "isTemplated": true - }, - { - "file": "ShaderLib/README.md", - "isTemplated": false - }, - { - "file": "ShaderLib/scenesrg.srgi", - "isTemplated": true - }, - { - "file": "ShaderLib/viewsrg.srgi", - "isTemplated": true - }, - { - "file": "Passes/ContrastAdaptiveSharpening.pass", - "isTemplated": false - }, - { - "file": "Passes/MainRenderPipeline.azasset", - "isTemplated": false - }, - { - "file": "Passes/PostProcessParent.pass", - "isTemplated": false - }, - { - "file": "Passes/SMAAConfiguration.azasset", - "isTemplated": false - }, - { - "file": "Passes/Taa.pass", - "isTemplated": false - }, - { - "file": "Prefabs/ProteusLaserScanner.prefab", - "isTemplated": false - }, - { - "file": "autoexec.cfg", - "isTemplated": false - }, - { - "file": "cmake/EngineFinder.cmake", - "isTemplated": false - }, - { - "file": "game.cfg", - "isTemplated": false - }, - { - "file": "preview.png", - "isTemplated": false - }, - { - "file": "project.json", - "isTemplated": true - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.pgm", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/resource/o3de_fleet_nav", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_multirobot_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_multirobot_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/package.xml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/NOTICE", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/config/fleet_config.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_rviz_launch.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_nav_launch.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_fleet_nav_launch.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/__init__.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/robot_spawner.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_pep257.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_flake8.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_copyright.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.cfg", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/rviz/nav2_namespaced_view.rviz", - "isTemplated": false - } - ], - "createDirectories": [ - { - "dir": "Assets" - }, - { - "dir": "Config" - }, - { - "dir": "Gem" - }, - { - "dir": "Gem/Include" - }, - { - "dir": "Gem/Include/${Name}" - }, - { - "dir": "Gem/Platform" - }, - { - "dir": "Gem/Platform/Linux" - }, - { - "dir": "Gem/Platform/Mac" - }, - { - "dir": "Gem/Platform/Windows" - }, - { - "dir": "Gem/Registry" - }, - { - "dir": "Gem/Source" - }, - { - "dir": "Levels" - }, - { - "dir": "Levels/Warehouse" - }, - { - "dir": "Levels/playground" - }, - { - "dir": "Levels/playground/_savebackup" - }, - { - "dir": "Levels/playground/_savebackup/2023-02-21 [13.25.33]" - }, - { - "dir": "Passes" - }, - { - "dir": "Platform" - }, - { - "dir": "Platform/Android" - }, - { - "dir": "Platform/Linux" - }, - { - "dir": "Platform/Mac" - }, - { - "dir": "Platform/Windows" - }, - { - "dir": "Registry" - }, - { - "dir": "Resources" - }, - { - "dir": "Resources/Platform" - }, - { - "dir": "Resources/Platform/Mac" - }, - { - "dir": "Resources/Platform/Mac/Images.xcassets" - }, - { - "dir": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset" - }, - { - "dir": "ShaderLib" - }, - { - "dir": "Shaders" - }, - { - "dir": "Prefabs" - }, - { - "dir": "Shaders/ShaderResourceGroups" - }, - { - "dir": "cmake" - }, - { - "dir": "Examples" - }, - { - "dir": "Examples/ros2_ws" - }, - { - "dir": "Examples/ros2_ws/src" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/config" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/launch" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/maps" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/params" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/resource" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/rviz" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/test" - } - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2fleetrobottemplate-1.2.0-template.zip", - "sha256": "15976b73a541146d48c13026986259161b0304e89501775bde7deab7518aadf1" - }, - { - "version": "2.0.0", - "copyFiles": [ - { - "file": ".gitignore", - "isTemplated": false - }, - { - "file": "CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Config/shader_global_build_options.json", - "isTemplated": false - }, - { - "file": "Gem/${Name}_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${Name}_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/${Name}Bus.h", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${Name}_linux_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${Name}_shared_linux_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/PAL_linux.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${Name}_mac_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${Name}_shared_mac_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/PAL_mac.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${Name}_shared_windows_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${Name}_windows_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/PAL_windows.cmake", - "isTemplated": true - }, - { - "file": "Gem/Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}Module.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/gem.json", - "isTemplated": true - }, - { - "file": "Levels/Warehouse/Warehouse.prefab", - "isTemplated": false - }, - { - "file": "Levels/playground/playground.prefab", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.cmake", - "isTemplated": true - }, - { - "file": "Platform/Linux/linux_project.json", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.cmake", - "isTemplated": true - }, - { - "file": "Platform/Mac/mac_project.json", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.cmake", - "isTemplated": true - }, - { - "file": "Platform/Windows/windows_project.json", - "isTemplated": false - }, - { - "file": "Registry/assetprocessor_settings.setreg", - "isTemplated": false - }, - { - "file": "Registry/awscoreconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdebugconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdefaultsceneconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxsystemconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Resources/GameSDK.ico", - "isTemplated": false - }, - { - "file": "Resources/LegacyLogoLauncher.bmp", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Info.plist", - "isTemplated": true - }, - { - "file": "ShaderLib/README.md", - "isTemplated": false - }, - { - "file": "ShaderLib/scenesrg.srgi", - "isTemplated": true - }, - { - "file": "ShaderLib/viewsrg.srgi", - "isTemplated": true - }, - { - "file": "Passes/ContrastAdaptiveSharpening.pass", - "isTemplated": false - }, - { - "file": "Passes/MainRenderPipeline.azasset", - "isTemplated": false - }, - { - "file": "Passes/PostProcessParent.pass", - "isTemplated": false - }, - { - "file": "Passes/SMAAConfiguration.azasset", - "isTemplated": false - }, - { - "file": "Passes/Taa.pass", - "isTemplated": false - }, - { - "file": "Prefabs/ProteusLaserScanner.prefab", - "isTemplated": false - }, - { - "file": "autoexec.cfg", - "isTemplated": false - }, - { - "file": "cmake/EngineFinder.cmake", - "isTemplated": false - }, - { - "file": "game.cfg", - "isTemplated": false - }, - { - "file": "preview.png", - "isTemplated": false - }, - { - "file": "project.json", - "isTemplated": true - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.pgm", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/resource/o3de_fleet_nav", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_multirobot_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_multirobot_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/package.xml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/NOTICE", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/config/fleet_config.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_rviz_launch.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_nav_launch.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_fleet_nav_launch.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/__init__.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/robot_spawner.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_pep257.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_flake8.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_copyright.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.cfg", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/rviz/nav2_namespaced_view.rviz", - "isTemplated": false - } - ], - "createDirectories": [ - { - "dir": "Assets" - }, - { - "dir": "Config" - }, - { - "dir": "Gem" - }, - { - "dir": "Gem/Include" - }, - { - "dir": "Gem/Include/${Name}" - }, - { - "dir": "Gem/Platform" - }, - { - "dir": "Gem/Platform/Linux" - }, - { - "dir": "Gem/Platform/Mac" - }, - { - "dir": "Gem/Platform/Windows" - }, - { - "dir": "Gem/Registry" - }, - { - "dir": "Gem/Source" - }, - { - "dir": "Levels" - }, - { - "dir": "Levels/Warehouse" - }, - { - "dir": "Levels/playground" - }, - { - "dir": "Levels/playground/_savebackup" - }, - { - "dir": "Levels/playground/_savebackup/2023-02-21 [13.25.33]" - }, - { - "dir": "Passes" - }, - { - "dir": "Platform" - }, - { - "dir": "Platform/Android" - }, - { - "dir": "Platform/Linux" - }, - { - "dir": "Platform/Mac" - }, - { - "dir": "Platform/Windows" - }, - { - "dir": "Registry" - }, - { - "dir": "Resources" - }, - { - "dir": "Resources/Platform" - }, - { - "dir": "Resources/Platform/Mac" - }, - { - "dir": "Resources/Platform/Mac/Images.xcassets" - }, - { - "dir": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset" - }, - { - "dir": "ShaderLib" - }, - { - "dir": "Shaders" - }, - { - "dir": "Prefabs" - }, - { - "dir": "Shaders/ShaderResourceGroups" - }, - { - "dir": "cmake" - }, - { - "dir": "Examples" - }, - { - "dir": "Examples/ros2_ws" - }, - { - "dir": "Examples/ros2_ws/src" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/config" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/launch" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/maps" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/params" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/resource" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/rviz" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/test" - } - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2fleetrobottemplate-2.0.0-template.zip", - "sha256": "a788901be9a503165050345be940dcbd5a02d6eea9cd0b6a4cb1a92ae12b2170" - }, - { - "version": "2.0.1", - "copyFiles": [ - { - "file": ".gitignore", - "isTemplated": false - }, - { - "file": "CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Config/shader_global_build_options.json", - "isTemplated": false - }, - { - "file": "Gem/${Name}_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${Name}_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/${Name}Bus.h", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${Name}_linux_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${Name}_shared_linux_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/PAL_linux.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${Name}_mac_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${Name}_shared_mac_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/PAL_mac.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${Name}_shared_windows_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${Name}_windows_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/PAL_windows.cmake", - "isTemplated": true - }, - { - "file": "Gem/Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}Module.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/gem.json", - "isTemplated": true - }, - { - "file": "Levels/Warehouse/Warehouse.prefab", - "isTemplated": false - }, - { - "file": "Levels/playground/playground.prefab", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.cmake", - "isTemplated": true - }, - { - "file": "Platform/Linux/linux_project.json", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.cmake", - "isTemplated": true - }, - { - "file": "Platform/Mac/mac_project.json", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.cmake", - "isTemplated": true - }, - { - "file": "Platform/Windows/windows_project.json", - "isTemplated": false - }, - { - "file": "Registry/assetprocessor_settings.setreg", - "isTemplated": false - }, - { - "file": "Registry/awscoreconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdebugconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdefaultsceneconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxsystemconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Resources/GameSDK.ico", - "isTemplated": false - }, - { - "file": "Resources/LegacyLogoLauncher.bmp", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Info.plist", - "isTemplated": true - }, - { - "file": "ShaderLib/README.md", - "isTemplated": false - }, - { - "file": "ShaderLib/scenesrg.srgi", - "isTemplated": true - }, - { - "file": "ShaderLib/viewsrg.srgi", - "isTemplated": true - }, - { - "file": "Passes/ContrastAdaptiveSharpening.pass", - "isTemplated": false - }, - { - "file": "Passes/MainRenderPipeline.azasset", - "isTemplated": false - }, - { - "file": "Passes/PostProcessParent.pass", - "isTemplated": false - }, - { - "file": "Passes/SMAAConfiguration.azasset", - "isTemplated": false - }, - { - "file": "Passes/Taa.pass", - "isTemplated": false - }, - { - "file": "Prefabs/ProteusLaserScanner.prefab", - "isTemplated": false - }, - { - "file": "autoexec.cfg", - "isTemplated": false - }, - { - "file": "cmake/EngineFinder.cmake", - "isTemplated": false - }, - { - "file": "game.cfg", - "isTemplated": false - }, - { - "file": "preview.png", - "isTemplated": false - }, - { - "file": "project.json", - "isTemplated": true - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.pgm", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/resource/o3de_fleet_nav", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_multirobot_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_multirobot_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/package.xml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/NOTICE", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/config/fleet_config.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_rviz_launch.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_nav_launch.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_fleet_nav_launch.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/__init__.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/robot_spawner.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_pep257.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_flake8.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_copyright.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.cfg", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/rviz/nav2_namespaced_view.rviz", - "isTemplated": false - } - ], - "createDirectories": [ - { - "dir": "Assets" - }, - { - "dir": "Config" - }, - { - "dir": "Gem" - }, - { - "dir": "Gem/Include" - }, - { - "dir": "Gem/Include/${Name}" - }, - { - "dir": "Gem/Platform" - }, - { - "dir": "Gem/Platform/Linux" - }, - { - "dir": "Gem/Platform/Mac" - }, - { - "dir": "Gem/Platform/Windows" - }, - { - "dir": "Gem/Registry" - }, - { - "dir": "Gem/Source" - }, - { - "dir": "Levels" - }, - { - "dir": "Levels/Warehouse" - }, - { - "dir": "Levels/playground" - }, - { - "dir": "Levels/playground/_savebackup" - }, - { - "dir": "Levels/playground/_savebackup/2023-02-21 [13.25.33]" - }, - { - "dir": "Passes" - }, - { - "dir": "Platform" - }, - { - "dir": "Platform/Android" - }, - { - "dir": "Platform/Linux" - }, - { - "dir": "Platform/Mac" - }, - { - "dir": "Platform/Windows" - }, - { - "dir": "Registry" - }, - { - "dir": "Resources" - }, - { - "dir": "Resources/Platform" - }, - { - "dir": "Resources/Platform/Mac" - }, - { - "dir": "Resources/Platform/Mac/Images.xcassets" - }, - { - "dir": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset" - }, - { - "dir": "ShaderLib" - }, - { - "dir": "Shaders" - }, - { - "dir": "Prefabs" - }, - { - "dir": "Shaders/ShaderResourceGroups" - }, - { - "dir": "cmake" - }, - { - "dir": "Examples" - }, - { - "dir": "Examples/ros2_ws" - }, - { - "dir": "Examples/ros2_ws/src" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/config" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/launch" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/maps" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/params" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/resource" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/rviz" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/test" - } - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2fleetrobottemplate-2.0.1-template.zip", - "sha256": "33023262e18e7b72e2cd78e96982fd90df9f9095a78bead6d2afb74c2ed390c4" - }, - { - "version": "2.0.2", - "copyFiles": [ - { - "file": ".gitignore", - "isTemplated": false - }, - { - "file": "CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Config/shader_global_build_options.json", - "isTemplated": false - }, - { - "file": "Gem/${Name}_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${Name}_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/${Name}Bus.h", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${Name}_linux_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${Name}_shared_linux_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/PAL_linux.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${Name}_mac_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${Name}_shared_mac_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/PAL_mac.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${Name}_shared_windows_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${Name}_windows_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/PAL_windows.cmake", - "isTemplated": true - }, - { - "file": "Gem/Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}Module.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/gem.json", - "isTemplated": true - }, - { - "file": "Levels/Warehouse/Warehouse.prefab", - "isTemplated": false - }, - { - "file": "Levels/playground/playground.prefab", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.cmake", - "isTemplated": true - }, - { - "file": "Platform/Linux/linux_project.json", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.cmake", - "isTemplated": true - }, - { - "file": "Platform/Mac/mac_project.json", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.cmake", - "isTemplated": true - }, - { - "file": "Platform/Windows/windows_project.json", - "isTemplated": false - }, - { - "file": "Registry/assetprocessor_settings.setreg", - "isTemplated": false - }, - { - "file": "Registry/awscoreconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdebugconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdefaultsceneconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxsystemconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/ros2.setreg", - "isTemplated": false - }, - { - "file": "Resources/GameSDK.ico", - "isTemplated": false - }, - { - "file": "Resources/LegacyLogoLauncher.bmp", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Info.plist", - "isTemplated": true - }, - { - "file": "ShaderLib/README.md", - "isTemplated": false - }, - { - "file": "ShaderLib/scenesrg.srgi", - "isTemplated": true - }, - { - "file": "ShaderLib/viewsrg.srgi", - "isTemplated": true - }, - { - "file": "Passes/ContrastAdaptiveSharpening.pass", - "isTemplated": false - }, - { - "file": "Passes/MainRenderPipeline.azasset", - "isTemplated": false - }, - { - "file": "Passes/PostProcessParent.pass", - "isTemplated": false - }, - { - "file": "Passes/SMAAConfiguration.azasset", - "isTemplated": false - }, - { - "file": "Passes/Taa.pass", - "isTemplated": false - }, - { - "file": "Prefabs/ProteusLaserScanner.prefab", - "isTemplated": false - }, - { - "file": "autoexec.cfg", - "isTemplated": false - }, - { - "file": "cmake/EngineFinder.cmake", - "isTemplated": false - }, - { - "file": "game.cfg", - "isTemplated": false - }, - { - "file": "preview.png", - "isTemplated": false - }, - { - "file": "project.json", - "isTemplated": true - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.pgm", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/resource/o3de_fleet_nav", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_multirobot_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_multirobot_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/package.xml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/NOTICE", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/config/fleet_config.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_rviz_launch.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_nav_launch.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_fleet_nav_launch.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/__init__.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/robot_spawner.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_pep257.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_flake8.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_copyright.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.cfg", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/rviz/nav2_namespaced_view.rviz", - "isTemplated": false - } - ], - "createDirectories": [ - { - "dir": "Assets" - }, - { - "dir": "Config" - }, - { - "dir": "Gem" - }, - { - "dir": "Gem/Include" - }, - { - "dir": "Gem/Include/${Name}" - }, - { - "dir": "Gem/Platform" - }, - { - "dir": "Gem/Platform/Linux" - }, - { - "dir": "Gem/Platform/Mac" - }, - { - "dir": "Gem/Platform/Windows" - }, - { - "dir": "Gem/Registry" - }, - { - "dir": "Gem/Source" - }, - { - "dir": "Levels" - }, - { - "dir": "Levels/Warehouse" - }, - { - "dir": "Levels/playground" - }, - { - "dir": "Levels/playground/_savebackup" - }, - { - "dir": "Levels/playground/_savebackup/2023-02-21 [13.25.33]" - }, - { - "dir": "Passes" - }, - { - "dir": "Platform" - }, - { - "dir": "Platform/Android" - }, - { - "dir": "Platform/Linux" - }, - { - "dir": "Platform/Mac" - }, - { - "dir": "Platform/Windows" - }, - { - "dir": "Registry" - }, - { - "dir": "Resources" - }, - { - "dir": "Resources/Platform" - }, - { - "dir": "Resources/Platform/Mac" - }, - { - "dir": "Resources/Platform/Mac/Images.xcassets" - }, - { - "dir": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset" - }, - { - "dir": "ShaderLib" - }, - { - "dir": "Shaders" - }, - { - "dir": "Prefabs" - }, - { - "dir": "Shaders/ShaderResourceGroups" - }, - { - "dir": "cmake" - }, - { - "dir": "Examples" - }, - { - "dir": "Examples/ros2_ws" - }, - { - "dir": "Examples/ros2_ws/src" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/config" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/launch" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/maps" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/params" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/resource" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/rviz" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/test" - } - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2fleetrobottemplate-2.0.2-template.zip", - "sha256": "7ac04e30e179f36884424049c777502d08a6518f5d4306bc1834177a7927b770" - }, - { - "version": "2.0.3", - "copyFiles": [ - { - "file": ".gitignore", - "isTemplated": false - }, - { - "file": "CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Config/shader_global_build_options.json", - "isTemplated": false - }, - { - "file": "Gem/${Name}_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${Name}_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/${Name}Bus.h", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${Name}_linux_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${Name}_shared_linux_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/PAL_linux.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${Name}_mac_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${Name}_shared_mac_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/PAL_mac.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${Name}_shared_windows_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${Name}_windows_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/PAL_windows.cmake", - "isTemplated": true - }, - { - "file": "Gem/Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}Module.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/gem.json", - "isTemplated": true - }, - { - "file": "Levels/Warehouse/Warehouse.prefab", - "isTemplated": false - }, - { - "file": "Levels/playground/playground.prefab", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.cmake", - "isTemplated": true - }, - { - "file": "Platform/Linux/linux_project.json", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.cmake", - "isTemplated": true - }, - { - "file": "Platform/Mac/mac_project.json", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.cmake", - "isTemplated": true - }, - { - "file": "Platform/Windows/windows_project.json", - "isTemplated": false - }, - { - "file": "Registry/assetprocessor_settings.setreg", - "isTemplated": false - }, - { - "file": "Registry/awscoreconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdebugconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdefaultsceneconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxsystemconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/ros2.setreg", - "isTemplated": false - }, - { - "file": "Resources/GameSDK.ico", - "isTemplated": false - }, - { - "file": "Resources/LegacyLogoLauncher.bmp", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Info.plist", - "isTemplated": true - }, - { - "file": "ShaderLib/README.md", - "isTemplated": false - }, - { - "file": "ShaderLib/scenesrg.srgi", - "isTemplated": true - }, - { - "file": "ShaderLib/viewsrg.srgi", - "isTemplated": true - }, - { - "file": "Passes/ContrastAdaptiveSharpening.pass", - "isTemplated": false - }, - { - "file": "Passes/MainRenderPipeline.azasset", - "isTemplated": false - }, - { - "file": "Passes/PostProcessParent.pass", - "isTemplated": false - }, - { - "file": "Passes/SMAAConfiguration.azasset", - "isTemplated": false - }, - { - "file": "Passes/Taa.pass", - "isTemplated": false - }, - { - "file": "Prefabs/ProteusLaserScanner.prefab", - "isTemplated": false - }, - { - "file": "autoexec.cfg", - "isTemplated": false - }, - { - "file": "cmake/EngineFinder.cmake", - "isTemplated": false - }, - { - "file": "game.cfg", - "isTemplated": false - }, - { - "file": "preview.png", - "isTemplated": false - }, - { - "file": "project.json", - "isTemplated": true - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.pgm", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/resource/o3de_fleet_nav", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_multirobot_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_multirobot_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/package.xml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/NOTICE", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/config/fleet_config.yaml", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_rviz_launch.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_nav_launch.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_fleet_nav_launch.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/__init__.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/robot_spawner.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_pep257.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_flake8.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_copyright.py", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.cfg", - "isTemplated": false - }, - { - "file": "Examples/ros2_ws/src/o3de_fleet_nav/rviz/nav2_namespaced_view.rviz", - "isTemplated": false - } - ], - "createDirectories": [ - { - "dir": "Assets" - }, - { - "dir": "Config" - }, - { - "dir": "Gem" - }, - { - "dir": "Gem/Include" - }, - { - "dir": "Gem/Include/${Name}" - }, - { - "dir": "Gem/Platform" - }, - { - "dir": "Gem/Platform/Linux" - }, - { - "dir": "Gem/Platform/Mac" - }, - { - "dir": "Gem/Platform/Windows" - }, - { - "dir": "Gem/Registry" - }, - { - "dir": "Gem/Source" - }, - { - "dir": "Levels" - }, - { - "dir": "Levels/Warehouse" - }, - { - "dir": "Levels/playground" - }, - { - "dir": "Levels/playground/_savebackup" - }, - { - "dir": "Levels/playground/_savebackup/2023-02-21 [13.25.33]" - }, - { - "dir": "Passes" - }, - { - "dir": "Platform" - }, - { - "dir": "Platform/Android" - }, - { - "dir": "Platform/Linux" - }, - { - "dir": "Platform/Mac" - }, - { - "dir": "Platform/Windows" - }, - { - "dir": "Registry" - }, - { - "dir": "Resources" - }, - { - "dir": "Resources/Platform" - }, - { - "dir": "Resources/Platform/Mac" - }, - { - "dir": "Resources/Platform/Mac/Images.xcassets" - }, - { - "dir": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset" - }, - { - "dir": "ShaderLib" - }, - { - "dir": "Shaders" - }, - { - "dir": "Prefabs" - }, - { - "dir": "Shaders/ShaderResourceGroups" - }, - { - "dir": "cmake" - }, - { - "dir": "Examples" - }, - { - "dir": "Examples/ros2_ws" - }, - { - "dir": "Examples/ros2_ws/src" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/config" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/launch" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/maps" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/params" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/resource" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/rviz" - }, - { - "dir": "Examples/ros2_ws/src/o3de_fleet_nav/test" - } - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2fleetrobottemplate-2.0.3-template.zip", - "sha256": "1fdb529bb39cbe1248b3af2ef6531cf1e95b8aadaf6db6aace0a2e221da67fd4" - } - ] - }, - { - "template_name": "Ros2ProjectTemplate", - "version": "1.0.0", - "origin": "Open 3D Engine Extras", - "origin_url": "https://github.com/o3de/o3de-extras", - "license": "https://github.com/o3de/o3de-extras/tree/development/Templates/Ros2ProjectTemplate/Template/LICENSE.txt", - "display_name": "ROS2 Project", - "summary": "Template for ROS2 projects.", - "canonical_tags": [], - "user_tags": [ - "Ros2ProjectTemplate", - "ROS2", - "ROS" - ], - "icon_path": "preview.png", - "copyFiles": [ - { - "file": ".gitattributes", - "isTemplated": false - }, - { - "file": ".gitignore", - "isTemplated": false - }, - { - "file": "CMakeLists.txt", - "isTemplated": true - }, - { - "file": "cmake/EngineFinder.cmake", - "isTemplated": true - }, - { - "file": "Config/default_aws_resource_mappings.json", - "isTemplated": false - }, - { - "file": "Config/shader_global_build_options.json", - "isTemplated": false - }, - { - "file": "Gem/${NameLower}_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${NameLower}_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/${Name}Bus.h", - "isTemplated": true - }, - { - "file": "Gem/Platform/Android/${NameLower}_android_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Android/${NameLower}_shared_android_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Android/PAL_android.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${NameLower}_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/${NameLower}_shared_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/PAL_linux.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${NameLower}_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/${NameLower}_shared_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/PAL_mac.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${NameLower}_shared_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/${NameLower}_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/PAL_windows.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/iOS/${NameLower}_ios_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/iOS/${NameLower}_shared_ios_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/iOS/PAL_ios.cmake", - "isTemplated": true - }, - { - "file": "Gem/Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}Module.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/enabled_gems.cmake", - "isTemplated": true - }, - { - "file": "Gem/gem.json", - "isTemplated": true - }, - { - "file": "Levels/DemoLevel/DemoLevel.prefab", - "isTemplated": false - }, - { - "file": "Platform/Android/android_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Android/android_project.json", - "isTemplated": true - }, - { - "file": "Platform/Linux/linux_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.json", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.json", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.json", - "isTemplated": false - }, - { - "file": "Platform/iOS/ios_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/iOS/ios_project.json", - "isTemplated": false - }, - { - "file": "Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Registry/awscoreconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/editorpreferences.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxsystemconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/sceneassetimporter.setreg", - "isTemplated": false - }, - { - "file": "Resources/GameSDK.ico", - "isTemplated": false - }, - { - "file": "Resources/LegacyLogoLauncher.bmp", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Info.plist", - "isTemplated": true - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1024x768.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1536x2048.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage2048x1536.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage768x1024.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x1136.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x960.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon152x152.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon76x76.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadProAppIcon167x167.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon29x29.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon58x58.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon40x40.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon80x80.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon120x120.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon180x180.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon58x58.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon87x87.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon120x120.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon80x80.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Info.plist", - "isTemplated": true - }, - { - "file": "ShaderLib/README.md", - "isTemplated": false - }, - { - "file": "ShaderLib/scenesrg.srgi", - "isTemplated": true - }, - { - "file": "ShaderLib/viewsrg.srgi", - "isTemplated": true - }, - { - "file": "autoexec.cfg", - "isTemplated": false - }, - { - "file": "game.cfg", - "isTemplated": false - }, - { - "file": "preview.png", - "isTemplated": false - }, - { - "file": "project.json", - "isTemplated": true - }, - { - "file": "Examples/slam_navigation/launch/config/config.rviz", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/README.md", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/config/navigation_params_humble.yaml", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/config/navigation_params_jazzy.yaml", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/config/slam_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/navigation.launch.py", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/slam.launch.py", - "isTemplated": false - } - ], - "createDirectories": [ - { - "dir": "Assets" - }, - { - "dir": "Config" - }, - { - "dir": "Gem" - }, - { - "dir": "Gem/Include" - }, - { - "dir": "Gem/Include/${Name}" - }, - { - "dir": "Gem/Platform" - }, - { - "dir": "Gem/Platform/Android" - }, - { - "dir": "Gem/Platform/Linux" - }, - { - "dir": "Gem/Platform/Mac" - }, - { - "dir": "Gem/Platform/Windows" - }, - { - "dir": "Gem/Platform/iOS" - }, - { - "dir": "Gem/Registry" - }, - { - "dir": "Gem/Source" - }, - { - "dir": "Levels" - }, - { - "dir": "Levels/DemoLevel" - }, - { - "dir": "Platform" - }, - { - "dir": "Platform/Android" - }, - { - "dir": "Platform/Linux" - }, - { - "dir": "Platform/Mac" - }, - { - "dir": "Platform/Windows" - }, - { - "dir": "Platform/iOS" - }, - { - "dir": "Registry" - }, - { - "dir": "Resources" - }, - { - "dir": "Resources/Platform" - }, - { - "dir": "Resources/Platform/Mac" - }, - { - "dir": "Resources/Platform/Mac/Images.xcassets" - }, - { - "dir": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset" - }, - { - "dir": "Resources/Platform/iOS" - }, - { - "dir": "Resources/Platform/iOS/Images.xcassets" - }, - { - "dir": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset" - }, - { - "dir": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage" - }, - { - "dir": "ShaderLib" - }, - { - "dir": "cmake" - }, - { - "dir": "Examples" - }, - { - "dir": "Examples/slam_navigation" - }, - { - "dir": "Examples/slam_navigation/launch" - }, - { - "dir": "Examples/slam_navigation/launch/config" - } - ], - "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2projecttemplate-1.0.0-template.zip", - "sha256": "c7da8b04237c224e5377ae91625cf9a11e7b27479d9f6344c103905791a9b60f", - "versions_data": [ - { - "sha256": "62405080293d0be734398b3a338b2a9fce4dd50cba35d993f95d1d30e8e93e1b", - "version": "1.0.0", - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2projecttemplate-1.0.0-template.zip" - }, - { - "version": "1.1.0", - "copyFiles": [ - { - "file": ".clang-format", - "isTemplated": false - }, - { - "file": ".gitattributes", - "isTemplated": false - }, - { - "file": ".gitignore", - "isTemplated": false - }, - { - "file": "CMakeLists.txt", - "isTemplated": true - }, - { - "file": "cmake/EngineFinder.cmake", - "isTemplated": true - }, - { - "file": "Config/default_aws_resource_mappings.json", - "isTemplated": false - }, - { - "file": "Config/shader_global_build_options.json", - "isTemplated": false - }, - { - "file": "Gem/${NameLower}_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${NameLower}_editor_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${NameLower}_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${NameLower}_editor_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/${Name}Bus.h", - "isTemplated": true - }, - { - "file": "Gem/Platform/Android/${NameLower}_android_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Android/${NameLower}_shared_android_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Android/PAL_android.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${NameLower}_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/${NameLower}_shared_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/PAL_linux.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${NameLower}_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/${NameLower}_shared_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/PAL_mac.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${NameLower}_shared_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/${NameLower}_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/PAL_windows.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/iOS/${NameLower}_ios_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/iOS/${NameLower}_shared_ios_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/iOS/PAL_ios.cmake", - "isTemplated": true - }, - { - "file": "Gem/Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}Module.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}EditorModule.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}ModuleInterface.h", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}EditorSystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}EditorSystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SampleComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SampleComponent.h", - "isTemplated": true - }, - { - "file": "Gem/gem.json", - "isTemplated": true - }, - { - "file": "Levels/DemoLevel/DemoLevel.prefab", - "isTemplated": true - }, - { - "file": "Platform/Android/android_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Android/android_project.json", - "isTemplated": true - }, - { - "file": "Platform/Linux/linux_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.json", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.json", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.json", - "isTemplated": false - }, - { - "file": "Platform/iOS/ios_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/iOS/ios_project.json", - "isTemplated": false - }, - { - "file": "Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Registry/awscoreconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/editorpreferences.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxsystemconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/sceneassetimporter.setreg", - "isTemplated": false - }, - { - "file": "Resources/GameSDK.ico", - "isTemplated": false - }, - { - "file": "Resources/LegacyLogoLauncher.bmp", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Info.plist", - "isTemplated": true - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1024x768.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1536x2048.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage2048x1536.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage768x1024.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x1136.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x960.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon152x152.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon76x76.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadProAppIcon167x167.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon29x29.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon58x58.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon40x40.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon80x80.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon120x120.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon180x180.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon58x58.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon87x87.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon120x120.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon80x80.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Info.plist", - "isTemplated": true - }, - { - "file": "ShaderLib/README.md", - "isTemplated": false - }, - { - "file": "ShaderLib/scenesrg.srgi", - "isTemplated": true - }, - { - "file": "ShaderLib/viewsrg.srgi", - "isTemplated": true - }, - { - "file": "autoexec.cfg", - "isTemplated": false - }, - { - "file": "game.cfg", - "isTemplated": false - }, - { - "file": "preview.png", - "isTemplated": false - }, - { - "file": "project.json", - "isTemplated": true - }, - { - "file": "Examples/slam_navigation/launch/config/config.rviz", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/README.md", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/config/navigation_params_humble.yaml", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/config/navigation_params_jazzy.yaml", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/config/slam_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/navigation.launch.py", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/slam.launch.py", - "isTemplated": false - } - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2projecttemplate-1.1.0-template.zip" - }, - { - "version": "2.0.0", - "copyFiles": [ - { - "file": ".clang-format", - "isTemplated": false - }, - { - "file": ".gitattributes", - "isTemplated": false - }, - { - "file": ".gitignore", - "isTemplated": false - }, - { - "file": "CMakeLists.txt", - "isTemplated": true - }, - { - "file": "cmake/EngineFinder.cmake", - "isTemplated": true - }, - { - "file": "Config/default_aws_resource_mappings.json", - "isTemplated": false - }, - { - "file": "Config/shader_global_build_options.json", - "isTemplated": false - }, - { - "file": "Gem/${NameLower}_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${NameLower}_editor_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${NameLower}_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${NameLower}_editor_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/${Name}Bus.h", - "isTemplated": true - }, - { - "file": "Gem/Platform/Android/${NameLower}_android_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Android/${NameLower}_shared_android_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Android/PAL_android.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${NameLower}_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/${NameLower}_shared_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/PAL_linux.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${NameLower}_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/${NameLower}_shared_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/PAL_mac.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${NameLower}_shared_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/${NameLower}_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/PAL_windows.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/iOS/${NameLower}_ios_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/iOS/${NameLower}_shared_ios_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/iOS/PAL_ios.cmake", - "isTemplated": true - }, - { - "file": "Gem/Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}Module.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}EditorModule.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}ModuleInterface.h", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}EditorSystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}EditorSystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SampleComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SampleComponent.h", - "isTemplated": true - }, - { - "file": "Gem/gem.json", - "isTemplated": true - }, - { - "file": "Levels/DemoLevel/DemoLevel.prefab", - "isTemplated": true - }, - { - "file": "Platform/Android/android_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Android/android_project.json", - "isTemplated": true - }, - { - "file": "Platform/Linux/linux_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.json", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.json", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.json", - "isTemplated": false - }, - { - "file": "Platform/iOS/ios_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/iOS/ios_project.json", - "isTemplated": false - }, - { - "file": "Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Registry/awscoreconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/editorpreferences.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxsystemconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/sceneassetimporter.setreg", - "isTemplated": false - }, - { - "file": "Resources/GameSDK.ico", - "isTemplated": false - }, - { - "file": "Resources/LegacyLogoLauncher.bmp", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Info.plist", - "isTemplated": true - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1024x768.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1536x2048.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage2048x1536.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage768x1024.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x1136.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x960.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon152x152.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon76x76.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadProAppIcon167x167.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon29x29.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon58x58.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon40x40.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon80x80.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon120x120.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon180x180.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon58x58.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon87x87.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon120x120.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon80x80.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Info.plist", - "isTemplated": true - }, - { - "file": "ShaderLib/README.md", - "isTemplated": false - }, - { - "file": "ShaderLib/scenesrg.srgi", - "isTemplated": true - }, - { - "file": "ShaderLib/viewsrg.srgi", - "isTemplated": true - }, - { - "file": "autoexec.cfg", - "isTemplated": false - }, - { - "file": "game.cfg", - "isTemplated": false - }, - { - "file": "preview.png", - "isTemplated": false - }, - { - "file": "project.json", - "isTemplated": true - }, - { - "file": "Examples/slam_navigation/launch/config/config.rviz", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/README.md", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/config/navigation_params_humble.yaml", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/config/navigation_params_jazzy.yaml", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/config/slam_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/navigation.launch.py", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/slam.launch.py", - "isTemplated": false - } - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2projecttemplate-2.0.0-template.zip", - "sha256": "9d10edb8e3c51358ffcfc7a255af0db34981dafa3a37dd36ba68dda2c56e6866" - }, - { - "version": "2.0.1", - "copyFiles": [ - { - "file": ".clang-format", - "isTemplated": false - }, - { - "file": ".gitattributes", - "isTemplated": false - }, - { - "file": ".gitignore", - "isTemplated": false - }, - { - "file": "CMakeLists.txt", - "isTemplated": true - }, - { - "file": "cmake/EngineFinder.cmake", - "isTemplated": true - }, - { - "file": "Config/default_aws_resource_mappings.json", - "isTemplated": false - }, - { - "file": "Config/shader_global_build_options.json", - "isTemplated": false - }, - { - "file": "Gem/${NameLower}_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${NameLower}_editor_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${NameLower}_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${NameLower}_editor_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/${Name}Bus.h", - "isTemplated": true - }, - { - "file": "Gem/Platform/Android/${NameLower}_android_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Android/${NameLower}_shared_android_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Android/PAL_android.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${NameLower}_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/${NameLower}_shared_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/PAL_linux.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${NameLower}_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/${NameLower}_shared_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/PAL_mac.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${NameLower}_shared_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/${NameLower}_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/PAL_windows.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/iOS/${NameLower}_ios_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/iOS/${NameLower}_shared_ios_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/iOS/PAL_ios.cmake", - "isTemplated": true - }, - { - "file": "Gem/Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}Module.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}EditorModule.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}ModuleInterface.h", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}EditorSystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}EditorSystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SampleComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SampleComponent.h", - "isTemplated": true - }, - { - "file": "Gem/gem.json", - "isTemplated": true - }, - { - "file": "Levels/DemoLevel/DemoLevel.prefab", - "isTemplated": true - }, - { - "file": "Platform/Android/android_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Android/android_project.json", - "isTemplated": true - }, - { - "file": "Platform/Linux/linux_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.json", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.json", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.json", - "isTemplated": false - }, - { - "file": "Platform/iOS/ios_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/iOS/ios_project.json", - "isTemplated": false - }, - { - "file": "Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Registry/awscoreconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/editorpreferences.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxsystemconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/sceneassetimporter.setreg", - "isTemplated": false - }, - { - "file": "Registry/ros2.setreg", - "isTemplated": false - }, - { - "file": "Resources/GameSDK.ico", - "isTemplated": false - }, - { - "file": "Resources/LegacyLogoLauncher.bmp", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Info.plist", - "isTemplated": true - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1024x768.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1536x2048.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage2048x1536.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage768x1024.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x1136.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x960.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon152x152.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon76x76.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadProAppIcon167x167.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon29x29.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon58x58.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon40x40.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon80x80.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon120x120.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon180x180.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon58x58.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon87x87.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon120x120.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon80x80.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Info.plist", - "isTemplated": true - }, - { - "file": "ShaderLib/README.md", - "isTemplated": false - }, - { - "file": "ShaderLib/scenesrg.srgi", - "isTemplated": true - }, - { - "file": "ShaderLib/viewsrg.srgi", - "isTemplated": true - }, - { - "file": "autoexec.cfg", - "isTemplated": false - }, - { - "file": "game.cfg", - "isTemplated": false - }, - { - "file": "preview.png", - "isTemplated": false - }, - { - "file": "project.json", - "isTemplated": true - }, - { - "file": "Examples/slam_navigation/launch/config/config.rviz", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/README.md", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/config/navigation_params_humble.yaml", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/config/navigation_params_jazzy.yaml", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/config/slam_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/navigation.launch.py", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/slam.launch.py", - "isTemplated": false - } - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2projecttemplate-2.0.1-template.zip", - "sha256": "dd56a62e5fa1cd7d412962382845885170edcc1373c1af4b388331f073404c9d" - }, - { - "version": "2.0.2", - "copyFiles": [ - { - "file": ".clang-format", - "isTemplated": false - }, - { - "file": ".gitattributes", - "isTemplated": false - }, - { - "file": ".gitignore", - "isTemplated": false - }, - { - "file": "CMakeLists.txt", - "isTemplated": true - }, - { - "file": "cmake/EngineFinder.cmake", - "isTemplated": true - }, - { - "file": "Config/default_aws_resource_mappings.json", - "isTemplated": false - }, - { - "file": "Config/shader_global_build_options.json", - "isTemplated": false - }, - { - "file": "Gem/${NameLower}_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${NameLower}_editor_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${NameLower}_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${NameLower}_editor_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/${Name}Bus.h", - "isTemplated": true - }, - { - "file": "Gem/Platform/Android/${NameLower}_android_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Android/${NameLower}_shared_android_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Android/PAL_android.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${NameLower}_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/${NameLower}_shared_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/PAL_linux.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${NameLower}_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/${NameLower}_shared_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/PAL_mac.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${NameLower}_shared_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/${NameLower}_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/PAL_windows.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/iOS/${NameLower}_ios_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/iOS/${NameLower}_shared_ios_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/iOS/PAL_ios.cmake", - "isTemplated": true - }, - { - "file": "Gem/Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}Module.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}EditorModule.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}ModuleInterface.h", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}EditorSystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}EditorSystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SampleComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SampleComponent.h", - "isTemplated": true - }, - { - "file": "Gem/gem.json", - "isTemplated": true - }, - { - "file": "Levels/DemoLevel/DemoLevel.prefab", - "isTemplated": true - }, - { - "file": "Platform/Android/android_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Android/android_project.json", - "isTemplated": true - }, - { - "file": "Platform/Linux/linux_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.json", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.json", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.json", - "isTemplated": false - }, - { - "file": "Platform/iOS/ios_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/iOS/ios_project.json", - "isTemplated": false - }, - { - "file": "Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Registry/awscoreconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/editorpreferences.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxsystemconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/sceneassetimporter.setreg", - "isTemplated": false - }, - { - "file": "Registry/ros2.setreg", - "isTemplated": false - }, - { - "file": "Resources/GameSDK.ico", - "isTemplated": false - }, - { - "file": "Resources/LegacyLogoLauncher.bmp", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Info.plist", - "isTemplated": true - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1024x768.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1536x2048.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage2048x1536.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage768x1024.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x1136.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x960.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon152x152.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon76x76.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadProAppIcon167x167.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon29x29.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon58x58.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon40x40.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon80x80.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon120x120.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon180x180.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon58x58.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon87x87.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon120x120.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon80x80.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Info.plist", - "isTemplated": true - }, - { - "file": "ShaderLib/README.md", - "isTemplated": false - }, - { - "file": "ShaderLib/scenesrg.srgi", - "isTemplated": true - }, - { - "file": "ShaderLib/viewsrg.srgi", - "isTemplated": true - }, - { - "file": "autoexec.cfg", - "isTemplated": false - }, - { - "file": "game.cfg", - "isTemplated": false - }, - { - "file": "preview.png", - "isTemplated": false - }, - { - "file": "project.json", - "isTemplated": true - }, - { - "file": "Examples/slam_navigation/launch/config/config.rviz", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/README.md", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/config/navigation_params_humble.yaml", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/config/navigation_params_jazzy.yaml", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/config/slam_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/navigation.launch.py", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/slam.launch.py", - "isTemplated": false - } - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2projecttemplate-2.0.2-template.zip", - "sha256": "47192251cb1035ff041831e82f6062c8d3e6ed19f67a1b8dc34e46f8ce9dc8f0" - }, - { - "version": "2.0.3", - "copyFiles": [ - { - "file": ".clang-format", - "isTemplated": false - }, - { - "file": ".gitattributes", - "isTemplated": false - }, - { - "file": ".gitignore", - "isTemplated": false - }, - { - "file": "CMakeLists.txt", - "isTemplated": true - }, - { - "file": "cmake/EngineFinder.cmake", - "isTemplated": true - }, - { - "file": "Config/default_aws_resource_mappings.json", - "isTemplated": false - }, - { - "file": "Config/shader_global_build_options.json", - "isTemplated": false - }, - { - "file": "Gem/${NameLower}_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${NameLower}_editor_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${NameLower}_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${NameLower}_editor_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/${Name}Bus.h", - "isTemplated": true - }, - { - "file": "Gem/Platform/Android/${NameLower}_android_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Android/${NameLower}_shared_android_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Android/PAL_android.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${NameLower}_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/${NameLower}_shared_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/PAL_linux.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${NameLower}_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/${NameLower}_shared_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/PAL_mac.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${NameLower}_shared_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/${NameLower}_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/PAL_windows.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/iOS/${NameLower}_ios_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/iOS/${NameLower}_shared_ios_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/iOS/PAL_ios.cmake", - "isTemplated": true - }, - { - "file": "Gem/Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}Module.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}EditorModule.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}ModuleInterface.h", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}EditorSystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}EditorSystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SampleComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SampleComponent.h", - "isTemplated": true - }, - { - "file": "Gem/gem.json", - "isTemplated": true - }, - { - "file": "Levels/DemoLevel/DemoLevel.prefab", - "isTemplated": true - }, - { - "file": "Platform/Android/android_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Android/android_project.json", - "isTemplated": true - }, - { - "file": "Platform/Linux/linux_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.json", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.json", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.json", - "isTemplated": false - }, - { - "file": "Platform/iOS/ios_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/iOS/ios_project.json", - "isTemplated": false - }, - { - "file": "Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Registry/awscoreconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/editorpreferences.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxsystemconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/sceneassetimporter.setreg", - "isTemplated": false - }, - { - "file": "Registry/ros2.setreg", - "isTemplated": false - }, - { - "file": "Resources/GameSDK.ico", - "isTemplated": false - }, - { - "file": "Resources/LegacyLogoLauncher.bmp", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Info.plist", - "isTemplated": true - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1024x768.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1536x2048.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage2048x1536.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage768x1024.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x1136.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x960.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon152x152.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon76x76.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadProAppIcon167x167.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon29x29.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon58x58.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon40x40.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon80x80.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon120x120.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon180x180.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon58x58.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon87x87.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon120x120.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon80x80.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/iOS/Info.plist", - "isTemplated": true - }, - { - "file": "ShaderLib/README.md", - "isTemplated": false - }, - { - "file": "ShaderLib/scenesrg.srgi", - "isTemplated": true - }, - { - "file": "ShaderLib/viewsrg.srgi", - "isTemplated": true - }, - { - "file": "game.cfg", - "isTemplated": false - }, - { - "file": "preview.png", - "isTemplated": false - }, - { - "file": "project.json", - "isTemplated": true - }, - { - "file": "Examples/slam_navigation/launch/config/config.rviz", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/README.md", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/config/navigation_params_humble.yaml", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/config/navigation_params_jazzy.yaml", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/config/slam_params.yaml", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/navigation.launch.py", - "isTemplated": false - }, - { - "file": "Examples/slam_navigation/launch/slam.launch.py", - "isTemplated": false - } - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2projecttemplate-2.0.3-template.zip", - "sha256": "8ac02c3c0341804653a5a41b300f0bf9edff33f75076b5853f91a45e10b3826a" - } - ] - }, - { - "template_name": "Ros2RoboticManipulationTemplate", - "version": "1.1.0", - "origin": "https://github.com/o3de/o3de-extras", - "license": "https://github.com/o3de/o3de-extras/tree/development/Templates/Ros2RoboticManipulationTemplate/Template/LICENSE.txt", - "display_name": "ROS2 Robotic Manipulation", - "summary": "A manipulation template for ROS2", - "canonical_tags": [], - "user_tags": [ - "Ros2RoboticManipulationTemplate", - "ROS2", - "Move it2", - "Robots" - ], - "icon_path": "preview.png", - "copyFiles": [ - { - "file": "CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Assets/Room/Room.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Desk_M_Desk.material", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Desk.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Ambient.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Height.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Base_color.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Normal.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Metallic.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Roughness.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Desk/Room_M_Desk_Normal.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Desk/Room_M_Desk_Base_color.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Desk/Room_M_Desk_Height.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Desk/Room_M_Desk_Roughness.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Desk/Room_M_Desk_Metallic.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Desk/Room_M_Desk_Ambient.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Walls/Room_M_Walls_Height.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Walls/Room_M_Walls_Normal.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Walls/Room_M_Walls_Ambient.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Walls/Room_M_Walls_Roughness.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Walls/Room_M_Walls_Base_color.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Walls/Room_M_Walls_Metallic.png", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/Box2.prefab", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/ConveyorBelt.fbx.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/ConveyorBelt_guards_segment.fbx.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/ConveyorBelt.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/conveyor_belt.physxmaterial", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/conveyor_guards.physxmaterial", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/ConveyorBelt_effector.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/ConveyorBelt_effector.fbx.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/ConveyorBelt_guards_segment.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/UR10_M_UR10.material", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/UR10.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/Textures/RoboticArm.json", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Roughness.M_UR10.png", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Metallic.M_UR10.png", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_BaseColor.M_UR10.png", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Emissive.M_UR10.png", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Height.M_UR10.png", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/hand_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link4_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link1.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/finger_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/hand.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link3_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link2_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link0.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link5_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link6_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link3_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link6.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link2.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link3.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link5.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link2_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/finger.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/finger_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link4.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/hand_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link2.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link7.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link7_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link1_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link0_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link6.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/hand.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/finger.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link4.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link1.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link6_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link1_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link3.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link7_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link5_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link5.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link4_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link0.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link0_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link7.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Gripper_collider.stl", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Gripper.dae", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Textures/Gripper-BaseColor.png", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Textures/Gripper-Specular.png", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Textures/Gripper-Roughness.png", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Textures/Gripper-Metallic.png", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Textures/Gripper-Normal.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/ToyBox.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/BoxTriangle.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/BoxCube.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/BoxTriangle.fbx.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/BoxCyllinder.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Glossiness.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Metallic.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Emissive.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Normal.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Height.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Roughness.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_BaseMap.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Specular.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/Roughness/MCube_pazzle_Roughness.1001.png", - "isTemplated": "false" - }, - { - "file": "Config/shader_global_build_options.json", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/Atom Default Environment_434B3A4E-7927-4EB4-B568-D0D75E72D270_ProbeData_lutrgba16f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/Atom Default Environment_691C813B-A7DA-435B-BE78-904F41AAECDD_Distance_lutrg32f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/Atom Default Environment_9DD87531-9B21-45AC-8169-4B6209456C02_Irradiance_lutrgba16f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/GI_4C638236-E6F7-413A-B1DF-26DA87A6CDC0_ProbeData_lutrgba16f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/GI_9A063636-4E64-4E87-8052-E1427ED3EC2C_Distance_lutrg32f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/GI_C092EE63-F1F9-43CC-93B5-19168F3EEADA_Irradiance_lutrgba16f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/Diffuse_Probe_Grid_1C06FE02-367E-4D6E-B8AE-9A48F2AF5F75_Irradiance_lutrgba16f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/Diffuse_Probe_Grid_4F50E1BF-2C8C-44EB-8183-34101107473C_Distance_lutrg32f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/Diffuse_Probe_Grid_ABC8A956-D89D-4CDB-829B-EF1DD8DE5404_ProbeData_lutrgba16f.dds", - "isTemplated": false - }, - { - "file": "Examples/panda_moveit_config_demo.launch.py", - "isTemplated": false - }, - { - "file": "Examples/panda_moveit_config_demo.rviz", - "isTemplated": false - }, - { - "file": "Gem/${Name}_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${Name}_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/${Name}Bus.h", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${Name}_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/${Name}_shared_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/PAL_linux.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${Name}_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/${Name}_shared_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/PAL_mac.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${Name}_shared_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/${Name}_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/PAL_windows.cmake", - "isTemplated": true - }, - { - "file": "Gem/Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}Module.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/gem.json", - "isTemplated": true - }, - { - "file": "Levels/RoboticPalletization/RoboticPalletization.prefab", - "isTemplated": false - }, - { - "file": "Levels/RoboticManipulation/RoboticManipulation.prefab", - "isTemplated": false - }, - { - "file": "Passes/ContrastAdaptiveSharpening.pass", - "isTemplated": false - }, - { - "file": "Passes/MainRenderPipeline.azasset", - "isTemplated": false - }, - { - "file": "Passes/PostProcessParent.pass", - "isTemplated": false - }, - { - "file": "Passes/SMAAConfiguration.azasset", - "isTemplated": false - }, - { - "file": "Passes/Taa.pass", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.json", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.json", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.json", - "isTemplated": false - }, - { - "file": "Prefabs/PandaRobot.prefab", - "isTemplated": false - }, - { - "file": "ReflectionProbes/Entity6__8035B0D1-451A-4226-A488-0C8E6949F6F5__iblspecularcm256.dds", - "isTemplated": false - }, - { - "file": "Registry/assetprocessor_settings.setreg", - "isTemplated": false - }, - { - "file": "Registry/awscoreconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdebugconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdefaultsceneconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxsystemconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/sceneassetimporter.setreg", - "isTemplated": false - }, - { - "file": "Resources/GameSDK.ico", - "isTemplated": false - }, - { - "file": "Resources/LegacyLogoLauncher.bmp", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Info.plist", - "isTemplated": true - }, - { - "file": "ShaderLib/README.md", - "isTemplated": false - }, - { - "file": "ShaderLib/scenesrg.srgi", - "isTemplated": false - }, - { - "file": "ShaderLib/viewsrg.srgi", - "isTemplated": false - }, - { - "file": "cmake/EngineFinder.cmake", - "isTemplated": false - }, - { - "file": "user/Registry/editorpreferences.setreg", - "isTemplated": false - }, - { - "file": "user/Registry/ViewBookmarks/robotic-arm_1671539006337141059.setreg", - "isTemplated": false - }, - { - "file": "user/Registry/ViewBookmarks/RoboticPalletization_1691268770764352914.setreg", - "isTemplated": false - }, - { - "file": "game.cfg", - "isTemplated": false - }, - { - "file": "preview.png", - "isTemplated": false - }, - { - "file": "project.json", - "isTemplated": true - } - ], - "createDirectories": [ - { - "dir": "Config" - }, - { - "dir": "DiffuseProbeGrids" - }, - { - "dir": "Examples" - }, - { - "dir": "Gem" - }, - { - "dir": "Gem/Include" - }, - { - "dir": "Gem/Include/${Name}" - }, - { - "dir": "Gem/Platform" - }, - { - "dir": "Gem/Platform/Linux" - }, - { - "dir": "Gem/Platform/Mac" - }, - { - "dir": "Gem/Platform/Windows" - }, - { - "dir": "Gem/Registry" - }, - { - "dir": "Gem/Source" - }, - { - "dir": "Levels" - }, - { - "dir": "Levels/RoboticPalletization" - }, - { - "dir": "Levels/RoboticManipulation" - }, - { - "dir": "Passes" - }, - { - "dir": "Platform" - }, - { - "dir": "Platform/Android" - }, - { - "dir": "Platform/Linux" - }, - { - "dir": "Platform/Mac" - }, - { - "dir": "Platform/Windows" - }, - { - "dir": "Prefabs" - }, - { - "dir": "ReflectionProbes" - }, - { - "dir": "Registry" - }, - { - "dir": "Resources" - }, - { - "dir": "Resources/Platform" - }, - { - "dir": "Resources/Platform/Mac" - }, - { - "dir": "Resources/Platform/Mac/Images.xcassets" - }, - { - "dir": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset" - }, - { - "dir": "ShaderLib" - }, - { - "dir": "Shaders" - }, - { - "dir": "user" - }, - { - "dir": "user/Registry" - }, - { - "dir": "user/Registry/ViewBookmarks" - }, - { - "dir": "Shaders/ShaderResourceGroups" - }, - { - "dir": "cmake" - } - ], - "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2roboticmanipulationtemplate-1.1.0-template.zip", - "sha256": "7efe89a56731ad2efda60eb302fc73ec9ddf4f1bbb89d9b3cd9a9e357e64d9d3", - "versions_data": [ - { - "version": "2.0.0", - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2roboticmanipulationtemplate-2.0.0-template.zip", - "sha256": "0534490ddee493b0744a76493c1551879fb803890ed123c786e1699c5ddd1e13" - }, - { - "version": "2.0.1", - "copyFiles": [ - { - "file": "CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Assets/Room/Room.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Desk_M_Desk.material", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Desk.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Ambient.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Height.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Base_color.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Normal.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Metallic.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Roughness.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Desk/Room_M_Desk_Normal.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Desk/Room_M_Desk_Base_color.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Desk/Room_M_Desk_Height.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Desk/Room_M_Desk_Roughness.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Desk/Room_M_Desk_Metallic.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Desk/Room_M_Desk_Ambient.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Walls/Room_M_Walls_Height.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Walls/Room_M_Walls_Normal.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Walls/Room_M_Walls_Ambient.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Walls/Room_M_Walls_Roughness.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Walls/Room_M_Walls_Base_color.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Walls/Room_M_Walls_Metallic.png", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/Box2.prefab", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/ConveyorBelt.fbx.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/ConveyorBelt_guards_segment.fbx.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/ConveyorBelt.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/conveyor_belt.physxmaterial", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/conveyor_guards.physxmaterial", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/ConveyorBelt_effector.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/ConveyorBelt_effector.fbx.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/ConveyorBelt_guards_segment.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/UR10_M_UR10.material", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/UR10.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/Textures/RoboticArm.json", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Roughness.M_UR10.png", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Metallic.M_UR10.png", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_BaseColor.M_UR10.png", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Emissive.M_UR10.png", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Height.M_UR10.png", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/hand_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link4_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link1.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/finger_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/hand.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link3_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link2_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link0.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link5_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link6_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link3_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link6.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link2.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link3.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link5.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link2_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/finger.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/finger_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link4.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/hand_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link2.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link7.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link7_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link1_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link0_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link6.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/hand.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/finger.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link4.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link1.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link6_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link1_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link3.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link7_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link5_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link5.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link4_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link0.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link0_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link7.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Gripper_collider.stl", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Gripper.dae", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Textures/Gripper-BaseColor.png", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Textures/Gripper-Specular.png", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Textures/Gripper-Roughness.png", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Textures/Gripper-Metallic.png", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Textures/Gripper-Normal.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/ToyBox.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/BoxTriangle.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/BoxCube.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/BoxTriangle.fbx.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/BoxCyllinder.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Glossiness.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Metallic.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Emissive.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Normal.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Height.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Roughness.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_BaseMap.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Specular.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/Roughness/MCube_pazzle_Roughness.1001.png", - "isTemplated": "false" - }, - { - "file": "Config/shader_global_build_options.json", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/Atom Default Environment_434B3A4E-7927-4EB4-B568-D0D75E72D270_ProbeData_lutrgba16f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/Atom Default Environment_691C813B-A7DA-435B-BE78-904F41AAECDD_Distance_lutrg32f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/Atom Default Environment_9DD87531-9B21-45AC-8169-4B6209456C02_Irradiance_lutrgba16f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/GI_4C638236-E6F7-413A-B1DF-26DA87A6CDC0_ProbeData_lutrgba16f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/GI_9A063636-4E64-4E87-8052-E1427ED3EC2C_Distance_lutrg32f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/GI_C092EE63-F1F9-43CC-93B5-19168F3EEADA_Irradiance_lutrgba16f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/Diffuse_Probe_Grid_1C06FE02-367E-4D6E-B8AE-9A48F2AF5F75_Irradiance_lutrgba16f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/Diffuse_Probe_Grid_4F50E1BF-2C8C-44EB-8183-34101107473C_Distance_lutrg32f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/Diffuse_Probe_Grid_ABC8A956-D89D-4CDB-829B-EF1DD8DE5404_ProbeData_lutrgba16f.dds", - "isTemplated": false - }, - { - "file": "Examples/panda_moveit_config_demo.launch.py", - "isTemplated": false - }, - { - "file": "Examples/panda_moveit_config_demo.rviz", - "isTemplated": false - }, - { - "file": "Gem/${Name}_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${Name}_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/${Name}Bus.h", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${Name}_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/${Name}_shared_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/PAL_linux.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${Name}_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/${Name}_shared_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/PAL_mac.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${Name}_shared_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/${Name}_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/PAL_windows.cmake", - "isTemplated": true - }, - { - "file": "Gem/Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}Module.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/gem.json", - "isTemplated": true - }, - { - "file": "Levels/RoboticPalletization/RoboticPalletization.prefab", - "isTemplated": false - }, - { - "file": "Levels/RoboticManipulation/RoboticManipulation.prefab", - "isTemplated": false - }, - { - "file": "Passes/ContrastAdaptiveSharpening.pass", - "isTemplated": false - }, - { - "file": "Passes/MainRenderPipeline.azasset", - "isTemplated": false - }, - { - "file": "Passes/PostProcessParent.pass", - "isTemplated": false - }, - { - "file": "Passes/SMAAConfiguration.azasset", - "isTemplated": false - }, - { - "file": "Passes/Taa.pass", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.json", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.json", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.json", - "isTemplated": false - }, - { - "file": "Prefabs/PandaRobot.prefab", - "isTemplated": false - }, - { - "file": "ReflectionProbes/Entity6__8035B0D1-451A-4226-A488-0C8E6949F6F5__iblspecularcm256.dds", - "isTemplated": false - }, - { - "file": "Registry/assetprocessor_settings.setreg", - "isTemplated": false - }, - { - "file": "Registry/awscoreconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdebugconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdefaultsceneconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxsystemconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/sceneassetimporter.setreg", - "isTemplated": false - }, - { - "file": "Registry/ros2.setreg", - "isTemplated": false - }, - { - "file": "Resources/GameSDK.ico", - "isTemplated": false - }, - { - "file": "Resources/LegacyLogoLauncher.bmp", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Info.plist", - "isTemplated": true - }, - { - "file": "ShaderLib/README.md", - "isTemplated": false - }, - { - "file": "ShaderLib/scenesrg.srgi", - "isTemplated": false - }, - { - "file": "ShaderLib/viewsrg.srgi", - "isTemplated": false - }, - { - "file": "cmake/EngineFinder.cmake", - "isTemplated": false - }, - { - "file": "user/Registry/editorpreferences.setreg", - "isTemplated": false - }, - { - "file": "user/Registry/ViewBookmarks/robotic-arm_1671539006337141059.setreg", - "isTemplated": false - }, - { - "file": "user/Registry/ViewBookmarks/RoboticPalletization_1691268770764352914.setreg", - "isTemplated": false - }, - { - "file": "game.cfg", - "isTemplated": false - }, - { - "file": "preview.png", - "isTemplated": false - }, - { - "file": "project.json", - "isTemplated": true - } - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2roboticmanipulationtemplate-2.0.1-template.zip", - "sha256": "a78b0915bbf915c3470c95da234e49a21e6b67236ff66560a6e7ddc942c5ecd1" - }, - { - "version": "2.0.2", - "copyFiles": [ - { - "file": "CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Assets/Room/Room.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Desk_M_Desk.material", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Desk.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Ambient.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Height.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Base_color.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Normal.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Metallic.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Roughness.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Desk/Room_M_Desk_Normal.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Desk/Room_M_Desk_Base_color.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Desk/Room_M_Desk_Height.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Desk/Room_M_Desk_Roughness.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Desk/Room_M_Desk_Metallic.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Desk/Room_M_Desk_Ambient.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Walls/Room_M_Walls_Height.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Walls/Room_M_Walls_Normal.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Walls/Room_M_Walls_Ambient.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Walls/Room_M_Walls_Roughness.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Walls/Room_M_Walls_Base_color.png", - "isTemplated": "false" - }, - { - "file": "Assets/Room/Textures/Walls/Room_M_Walls_Metallic.png", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/Box2.prefab", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/ConveyorBelt.fbx.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/ConveyorBelt_guards_segment.fbx.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/ConveyorBelt.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/conveyor_belt.physxmaterial", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/conveyor_guards.physxmaterial", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/ConveyorBelt_effector.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/ConveyorBelt_effector.fbx.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/Factory/ConveyorLine/ConveyorBelt_guards_segment.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/UR10_M_UR10.material", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/UR10.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/Textures/RoboticArm.json", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Roughness.M_UR10.png", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Metallic.M_UR10.png", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_BaseColor.M_UR10.png", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Emissive.M_UR10.png", - "isTemplated": "false" - }, - { - "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Height.M_UR10.png", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/hand_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link4_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link1.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/finger_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/hand.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link3_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link2_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link0.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link5_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link6_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link3_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link6.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link2.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link3.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link5.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link2_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/finger.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/finger_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link4.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/hand_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link2.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link7.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link7_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link1_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link0_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link6.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/hand.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/finger.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link4.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link1.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link6_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link1_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link3.dae", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link7_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link5_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link5.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link4_c.stl", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link0.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link0_c.stl.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/UrdfImporter/1440394708_panda/link7.dae.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Gripper_collider.stl", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Gripper.dae", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Textures/Gripper-BaseColor.png", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Textures/Gripper-Specular.png", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Textures/Gripper-Roughness.png", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Textures/Gripper-Metallic.png", - "isTemplated": "false" - }, - { - "file": "Assets/Gripper/Textures/Gripper-Normal.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/ToyBox.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/BoxTriangle.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/BoxCube.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/BoxTriangle.fbx.assetinfo", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/BoxCyllinder.fbx", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Glossiness.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Metallic.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Emissive.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Normal.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Height.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Roughness.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_BaseMap.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Specular.1001.png", - "isTemplated": "false" - }, - { - "file": "Assets/BoxToyPuzzle/texture/Roughness/MCube_pazzle_Roughness.1001.png", - "isTemplated": "false" - }, - { - "file": "Config/shader_global_build_options.json", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/Atom Default Environment_434B3A4E-7927-4EB4-B568-D0D75E72D270_ProbeData_lutrgba16f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/Atom Default Environment_691C813B-A7DA-435B-BE78-904F41AAECDD_Distance_lutrg32f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/Atom Default Environment_9DD87531-9B21-45AC-8169-4B6209456C02_Irradiance_lutrgba16f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/GI_4C638236-E6F7-413A-B1DF-26DA87A6CDC0_ProbeData_lutrgba16f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/GI_9A063636-4E64-4E87-8052-E1427ED3EC2C_Distance_lutrg32f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/GI_C092EE63-F1F9-43CC-93B5-19168F3EEADA_Irradiance_lutrgba16f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/Diffuse_Probe_Grid_1C06FE02-367E-4D6E-B8AE-9A48F2AF5F75_Irradiance_lutrgba16f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/Diffuse_Probe_Grid_4F50E1BF-2C8C-44EB-8183-34101107473C_Distance_lutrg32f.dds", - "isTemplated": false - }, - { - "file": "DiffuseProbeGrids/Diffuse_Probe_Grid_ABC8A956-D89D-4CDB-829B-EF1DD8DE5404_ProbeData_lutrgba16f.dds", - "isTemplated": false - }, - { - "file": "Examples/panda_moveit_config_demo.launch.py", - "isTemplated": false - }, - { - "file": "Examples/panda_moveit_config_demo.rviz", - "isTemplated": false - }, - { - "file": "Gem/${Name}_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/${Name}_shared_files.cmake", - "isTemplated": true - }, - { - "file": "Gem/CMakeLists.txt", - "isTemplated": true - }, - { - "file": "Gem/Include/${Name}/${Name}Bus.h", - "isTemplated": true - }, - { - "file": "Gem/Platform/Linux/${Name}_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/${Name}_shared_linux_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Linux/PAL_linux.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Mac/${Name}_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/${Name}_shared_mac_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Mac/PAL_mac.cmake", - "isTemplated": true - }, - { - "file": "Gem/Platform/Windows/${Name}_shared_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/${Name}_windows_files.cmake", - "isTemplated": false - }, - { - "file": "Gem/Platform/Windows/PAL_windows.cmake", - "isTemplated": true - }, - { - "file": "Gem/Registry/assetprocessor_settings.setreg", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}Module.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.cpp", - "isTemplated": true - }, - { - "file": "Gem/Source/${Name}SystemComponent.h", - "isTemplated": true - }, - { - "file": "Gem/gem.json", - "isTemplated": true - }, - { - "file": "Levels/RoboticPalletization/RoboticPalletization.prefab", - "isTemplated": false - }, - { - "file": "Levels/RoboticManipulation/RoboticManipulation.prefab", - "isTemplated": false - }, - { - "file": "Passes/ContrastAdaptiveSharpening.pass", - "isTemplated": false - }, - { - "file": "Passes/MainRenderPipeline.azasset", - "isTemplated": false - }, - { - "file": "Passes/PostProcessParent.pass", - "isTemplated": false - }, - { - "file": "Passes/SMAAConfiguration.azasset", - "isTemplated": false - }, - { - "file": "Passes/Taa.pass", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Linux/linux_project.json", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Mac/mac_project.json", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.cmake", - "isTemplated": false - }, - { - "file": "Platform/Windows/windows_project.json", - "isTemplated": false - }, - { - "file": "Prefabs/PandaRobot.prefab", - "isTemplated": false - }, - { - "file": "ReflectionProbes/Entity6__8035B0D1-451A-4226-A488-0C8E6949F6F5__iblspecularcm256.dds", - "isTemplated": false - }, - { - "file": "Registry/assetprocessor_settings.setreg", - "isTemplated": false - }, - { - "file": "Registry/awscoreconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdebugconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxdefaultsceneconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/physxsystemconfiguration.setreg", - "isTemplated": false - }, - { - "file": "Registry/sceneassetimporter.setreg", - "isTemplated": false - }, - { - "file": "Registry/ros2.setreg", - "isTemplated": false - }, - { - "file": "Resources/GameSDK.ico", - "isTemplated": false - }, - { - "file": "Resources/LegacyLogoLauncher.bmp", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", - "isTemplated": false - }, - { - "file": "Resources/Platform/Mac/Info.plist", - "isTemplated": true - }, - { - "file": "ShaderLib/README.md", - "isTemplated": false - }, - { - "file": "ShaderLib/scenesrg.srgi", - "isTemplated": false - }, - { - "file": "ShaderLib/viewsrg.srgi", - "isTemplated": false - }, - { - "file": "cmake/EngineFinder.cmake", - "isTemplated": false - }, - { - "file": "user/Registry/editorpreferences.setreg", - "isTemplated": false - }, - { - "file": "user/Registry/ViewBookmarks/robotic-arm_1671539006337141059.setreg", - "isTemplated": false - }, - { - "file": "user/Registry/ViewBookmarks/RoboticPalletization_1691268770764352914.setreg", - "isTemplated": false - }, - { - "file": "game.cfg", - "isTemplated": false - }, - { - "file": "preview.png", - "isTemplated": false - }, - { - "file": "project.json", - "isTemplated": true - } - ], - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2roboticmanipulationtemplate-2.0.2-template.zip", - "sha256": "718e6e95914fee3b84ba7bdabbba150672a624f3cc62c1671c1b40b9db5d9178" - } - ] - } - ], - "projects_data": [ - { - "project_name": "OpenXRTest", - "version": "1.0.0", - "project_id": "{947211d5-689a-437f-8ad7-7f558edcd40a}", - "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", - "origin": "https://github.com/o3de/o3de-extras", - "license": "For terms please see the LICENSE*.TXT files at the root of this distribution.", - "display_name": "OpenXRTest", - "summary": "A sample project that uses OpenXR.", - "canonical_tags": [ - "Project" - ], - "user_tags": [ - "OpenXRTest" - ], - "icon_path": "preview.png", - "engine": "o3de", - "external_subdirectories": [ - "Gem" - ], - "restricted": "OpenXRTest", - "gem_names": [ - "XR", - "OpenXRVk" - ], - "versions_data": [ - { - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/openxrtest-1.0.0-project.zip", - "gem_names": [ - "XR>=1.0.1", - "OpenXRVk>=1.0.1" - ], - "version": "1.0.0" - }, - { - "version": "1.0.1", - "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/openxrtest-1.0.1-project.zip", - "gem_names": [ - "XR>=1.0.1", - "OpenXRVk>=1.0.1" - ], - "sha256": "a08e465949826c204af2a9f32a15b616bf1b81c0cdfde62eb070558b7228312f" - } - ] - } - ] -} From 0b6463ef3eb655e3bbf395065d64233b2649a135 Mon Sep 17 00:00:00 2001 From: Artur Kamieniecki Date: Thu, 24 Apr 2025 09:38:48 +0200 Subject: [PATCH 11/16] Fix atom dependency Signed-off-by: Artur Kamieniecki --- .../SystemComponents/ROS2SystemComponent.cpp | 1 - .../Sensor/ROS2SensorComponentBase.h | 29 +++++++------ .../Camera/ROS2CameraSystemComponent.cpp | 6 ++- .../Source/Camera/ROS2CameraSystemComponent.h | 1 + .../ROS2EditorCameraSystemComponent.cpp | 5 +++ .../Camera/ROS2EditorCameraSystemComponent.h | 1 + .../Source/Odometry/ROS2WheelOdometry.cpp | 41 +++++++++---------- 7 files changed, 46 insertions(+), 38 deletions(-) diff --git a/Gems/ROS2/Code/Source/SystemComponents/ROS2SystemComponent.cpp b/Gems/ROS2/Code/Source/SystemComponents/ROS2SystemComponent.cpp index 1512af2e2..0cd391c09 100644 --- a/Gems/ROS2/Code/Source/SystemComponents/ROS2SystemComponent.cpp +++ b/Gems/ROS2/Code/Source/SystemComponents/ROS2SystemComponent.cpp @@ -76,7 +76,6 @@ namespace ROS2 void ROS2SystemComponent::GetRequiredServices([[maybe_unused]] AZ::ComponentDescriptor::DependencyArrayType& required) { required.push_back(AZ_CRC("AssetDatabaseService", 0x3abf5601)); - required.push_back(AZ_CRC("RPISystem", 0xf2add773)); } void ROS2SystemComponent::GetDependentServices([[maybe_unused]] AZ::ComponentDescriptor::DependencyArrayType& dependent) diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h index b3f30a769..0d8a1b255 100644 --- a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h @@ -46,21 +46,20 @@ namespace ROS2 { if (auto* serializeContext = azrtti_cast(context)) { - serializeContext->Class, AZ::Component>()->Version(1); - // ->Field( - // "SensorConfiguration", &ROS2SensorComponentBase::m_sensorConfiguration); - - // if (auto* editContext = serializeContext->GetEditContext()) - // { - // editContext - // ->Class>( - // "ROS2 Sensor Component Base", "Base component for sensors") - // ->DataElement( - // AZ::Edit::UIHandlers::Default, - // &ROS2SensorComponentBase::m_sensorConfiguration, - // "Sensor configuration", - // "Sensor configuration"); - // } + serializeContext->Class, AZ::Component>()->Version(1)->Field( + "SensorConfiguration", &ROS2SensorComponentBase::m_sensorConfiguration); + + if (auto* editContext = serializeContext->GetEditContext()) + { + editContext + ->Class>( + "ROS2 Sensor Component Base", "Base component for sensors") + ->DataElement( + AZ::Edit::UIHandlers::Default, + &ROS2SensorComponentBase::m_sensorConfiguration, + "Sensor configuration", + "Sensor configuration"); + } } } diff --git a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSystemComponent.cpp b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSystemComponent.cpp index e820b5649..faf07b6b2 100644 --- a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSystemComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSystemComponent.cpp @@ -41,7 +41,11 @@ namespace ROS2 void ROS2SystemCameraComponent::GetRequiredServices([[maybe_unused]] AZ::ComponentDescriptor::DependencyArrayType& required) { required.push_back(AZ_CRC_CE("ROS2Service")); - required.push_back(AZ_CRC_CE("RPISystem")); + } + + void ROS2SystemCameraComponent::GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent) + { + dependent.push_back(AZ_CRC_CE("RPISystem")); } void ROS2SystemCameraComponent::InitPassTemplateMappingsHandler() diff --git a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSystemComponent.h b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSystemComponent.h index 592afa957..d85b1ea92 100644 --- a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSystemComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSystemComponent.h @@ -24,6 +24,7 @@ namespace ROS2 static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided); static void GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible); static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required); + static void GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent); void InitPassTemplateMappingsHandler(); diff --git a/Gems/ROS2Sensors/Code/Source/Camera/ROS2EditorCameraSystemComponent.cpp b/Gems/ROS2Sensors/Code/Source/Camera/ROS2EditorCameraSystemComponent.cpp index 1af6a2f85..8125a314e 100644 --- a/Gems/ROS2Sensors/Code/Source/Camera/ROS2EditorCameraSystemComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Camera/ROS2EditorCameraSystemComponent.cpp @@ -36,6 +36,11 @@ namespace ROS2 BaseSystemComponent::GetRequiredServices(required); } + void ROS2EditorCameraSystemComponent::GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent) + { + BaseSystemComponent::GetDependentServices(dependent); + } + void ROS2EditorCameraSystemComponent::Activate() { AzToolsFramework::EditorEntityContextNotificationBus::Handler::BusConnect(); diff --git a/Gems/ROS2Sensors/Code/Source/Camera/ROS2EditorCameraSystemComponent.h b/Gems/ROS2Sensors/Code/Source/Camera/ROS2EditorCameraSystemComponent.h index ee2358404..edb1fdbd5 100644 --- a/Gems/ROS2Sensors/Code/Source/Camera/ROS2EditorCameraSystemComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Camera/ROS2EditorCameraSystemComponent.h @@ -29,6 +29,7 @@ namespace ROS2 static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided); static void GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible); static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required); + static void GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent); ////////////////////////////////////////////////////////////////////////// // Component overrides diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp index 57640f5d3..08c037a9c 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp @@ -104,30 +104,29 @@ namespace ROS2 jsonContext->Serializer()->HandlesType(); } - // ROS2WheelOdometryConfiguration::Reflect(context); - // ROS2SensorComponentBase::Reflect(context); + ROS2WheelOdometryConfiguration::Reflect(context); + ROS2SensorComponentBase::Reflect(context); if (auto* serialize = azrtti_cast(context)) { - serialize->Class()->Version(2); - // ->Field( - // "Odometry configuration", &ROS2WheelOdometryComponent::m_odometryConfiguration); - - // if (auto* editContext = serialize->GetEditContext()) - // { - // editContext->Class("ROS2 Wheel Odometry Sensor", "Odometry sensor component") - // ->ClassElement(AZ::Edit::ClassElements::EditorData, "") - // ->Attribute(AZ::Edit::Attributes::Category, "ROS2") - // ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC_CE("Game")) - // ->Attribute(AZ::Edit::Attributes::Icon, "Editor/Icons/Components/ROS2WheelOdometrySensor.svg") - // ->Attribute(AZ::Edit::Attributes::ViewportIcon, "Editor/Icons/Components/Viewport/ROS2WheelOdometrySensor.svg") - // ->DataElement( - // AZ::Edit::UIHandlers::Default, - // &ROS2WheelOdometryComponent::m_odometryConfiguration, - // "Odometry configuration", - // "Odometry sensor configuration") - // ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly); - // } + serialize->Class()->Version(2)->Field( + "Odometry configuration", &ROS2WheelOdometryComponent::m_odometryConfiguration); + + if (auto* editContext = serialize->GetEditContext()) + { + editContext->Class("ROS2 Wheel Odometry Sensor", "Odometry sensor component") + ->ClassElement(AZ::Edit::ClassElements::EditorData, "") + ->Attribute(AZ::Edit::Attributes::Category, "ROS2") + ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC_CE("Game")) + ->Attribute(AZ::Edit::Attributes::Icon, "Editor/Icons/Components/ROS2WheelOdometrySensor.svg") + ->Attribute(AZ::Edit::Attributes::ViewportIcon, "Editor/Icons/Components/Viewport/ROS2WheelOdometrySensor.svg") + ->DataElement( + AZ::Edit::UIHandlers::Default, + &ROS2WheelOdometryComponent::m_odometryConfiguration, + "Odometry configuration", + "Odometry sensor configuration") + ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly); + } } } From 8e5016bbb3b011e14952833f4c3bdd3b7f875f40 Mon Sep 17 00:00:00 2001 From: Artur Kamieniecki Date: Thu, 24 Apr 2025 09:52:49 +0200 Subject: [PATCH 12/16] Minor fixes Signed-off-by: Artur Kamieniecki --- .../ROS2WheelOdometrySerializationTest.cpp | 8 + repo.json | 9881 +++++++++++++++++ 2 files changed, 9889 insertions(+) create mode 100644 repo.json diff --git a/Gems/ROS2Sensors/Code/Tests/Odometry/ROS2WheelOdometrySerializationTest.cpp b/Gems/ROS2Sensors/Code/Tests/Odometry/ROS2WheelOdometrySerializationTest.cpp index b4568b1b2..a994024ca 100644 --- a/Gems/ROS2Sensors/Code/Tests/Odometry/ROS2WheelOdometrySerializationTest.cpp +++ b/Gems/ROS2Sensors/Code/Tests/Odometry/ROS2WheelOdometrySerializationTest.cpp @@ -1,3 +1,11 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + #include #include #include diff --git a/repo.json b/repo.json new file mode 100644 index 000000000..067d00fdd --- /dev/null +++ b/repo.json @@ -0,0 +1,9881 @@ +{ + "repo_name": "O3DE Extras", + "origin": "o3de-extras", + "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", + "summary": "A repository to hold various gems, projects, and templates for the O3DE engine.", + "additional_info": "Extras gems, projects, and templates for O3DE. See the README.md at the root of this repository for more information", + "last_updated": "2025-02-20", + "$schemaVersion": "1.0.0", + "gems_data": [ + { + "gem_name": "AzQtComponentsForPython", + "display_name": "AzQtComponents For Python", + "license": "Apache-2.0 Or MIT", + "license_url": "https://github.com/o3de/o3de/blob/development/LICENSE.txt", + "origin": "Open 3D Engine - o3de.org", + "origin_url": "https://github.com/o3de/o3de", + "type": "Code", + "summary": "This gem provides a library to use the AzQtComponents library from Python.", + "canonical_tags": [ + "Gem" + ], + "user_tags": [ + "Scripting", + "UI" + ], + "icon_path": "preview.png", + "requirements": "", + "documentation_url": "", + "dependencies": [ + "EditorPythonBindings" + ], + "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", + "version": "1.0.0", + "versions_data": [ + { + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/azqtcomponentsforpython-1.0.0-gem.zip", + "sha256": "ef75e9811b11e081bd4d16d62b638208fe9f0bd8966cfaff937e64b59343f5f7", + "version": "1.0.0" + } + ] + }, + { + "gem_name": "OpenXRVk", + "display_name": "OpenXR Vulkan", + "license": "Apache-2.0 Or MIT", + "license_url": "https://github.com/o3de/o3de/blob/development/LICENSE.txt", + "origin": "Open 3D Engine - o3de.org", + "origin_url": "https://github.com/o3de/o3de", + "type": "Code", + "summary": "OpenXR Vulcan for Atom", + "canonical_tags": [ + "Gem" + ], + "user_tags": [], + "requirements": "", + "documentation_url": "", + "dependencies": [], + "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", + "version": "1.0.0", + "sha256": "dd58e9e95f7c4d4f107067a6d3a803da4eecd477610e9d67795777b49d5c892c", + "versions_data": [ + { + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/openxrvk-1.0.0-gem.zip", + "sha256": "cced7bcde96fb29f527542c72d7838319d199e272f2cac9d69dd171521883b0a", + "version": "1.0.0" + }, + { + "summary": "OpenXR Vulkan for Atom", + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/openxrvk-1.0.1-gem.zip", + "version": "1.0.1", + "sha256": "2595eb8743b0dfc7523eaa1b891a4e8314d73cc3bbfd1a8865f6837ff273ffd1" + } + ] + }, + { + "gem_name": "ProteusRobot", + "version": "1.0.0", + "display_name": "Proteus Robot", + "license": "Apache-2.0", + "license_url": "https://opensource.org/licenses/Apache-2.0", + "origin": "RobotecAI", + "origin_url": "https://github.com/o3de/o3de-extras/tree/development/Gems/ProteusRobot", + "type": "Asset", + "summary": "Proteus warehouse robot with Lidar sensor", + "canonical_tags": [ + "Gem" + ], + "user_tags": [ + "ProteusRobot" + ], + "platforms": [ + "" + ], + "icon_path": "preview.png", + "requirements": "Requires ROS 2 Gem for the Lidar to function", + "documentation_url": "https://www.o3de.org/docs/user-guide/interactivity/robotics/project-configuration/#ros-2-project-templates", + "dependencies": [], + "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", + "compatible_engines": [], + "engine_api_dependencies": [], + "restricted": "ProteusRobot", + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/proteusrobot-1.0.0-gem.zip", + "sha256": "ae3f973f061d1b8d52e3ced34dd9862ee48b64be4eebaebb4a585674a97e8b91", + "versions_data": [ + { + "sha256": "45c906788ed9a83b8ff74fd1b893a54f79e4d3e0674139839afb807260efa0e6", + "version": "1.0.0", + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/proteusrobot-1.0.0-gem.zip" + }, + { + "version": "1.1.0", + "license": "Apache-2.0 or MIT", + "origin_url": "https://robotec.ai", + "requirements": "Requires ROS 2 Gem", + "dependencies": [ + "ROS2>=3.1.0" + ], + "compatible_engines": [ + "o3de-sdk>=4.1.0", + "o3de>=4.1.0" + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/proteusrobot-1.1.0-gem.zip", + "sha256": "dec32d93221e2514b59e1ac056b74c771dc4109b4599b5cf290f27a3f2486615" + }, + { + "version": "2.0.0", + "license": "Apache-2.0 or MIT", + "origin_url": "https://robotec.ai", + "requirements": "Requires ROS 2 Gem", + "dependencies": [ + "ROS2>=3.1.0" + ], + "compatible_engines": [ + "o3de-sdk>=2.3.0", + "o3de>=2.3.0" + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/proteusrobot-2.0.0-gem.zip", + "sha256": "29eab27f4b78e43e157a9e5eb4565f5d29cecaf08b0c1f36ea40f03aa1640452" + } + ] + }, + { + "gem_name": "ROS2", + "version": "1.0.0", + "platforms": [ + "Linux" + ], + "display_name": "ROS2", + "license": "Apache-2.0", + "license_url": "https://opensource.org/licenses/Apache-2.0", + "origin": "RobotecAI", + "origin_url": "https://github.com/o3de/o3de-extras/development/Gems/ROS2", + "type": "Code", + "summary": "Tools and components to support creating simulations for ROS 2 systems such as robots", + "canonical_tags": [ + "Gem" + ], + "user_tags": [ + "ROS2" + ], + "icon_path": "preview.png", + "requirements": "Requires ROS 2 installation (supported distributions: Humble). Source your workspace before building the Gem", + "documentation_url": "https://o3de.org/docs/user-guide/gems/reference/design/ros2/", + "dependencies": [ + "Atom_RPI", + "Atom_Feature_Common", + "Atom_Component_DebugCamera", + "CommonFeaturesAtom", + "PhysX5", + "StartingPointInput" + ], + "restricted": "ROS2", + "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", + "versions_data": [ + { + "compatible_engines": [ + "o3de-sdk==1.2.0", + "o3de>=1.2.0" + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2-1.0.0-gem.zip", + "sha256": "62db01423611893c366c7905b91b165ebfc5da4a09a08ddebddf188e98acdce4", + "version": "1.0.0" + }, + { + "version": "2.0.0", + "compatible_engines": [ + "o3de-sdk>=2.1.0", + "o3de>=2.1.0" + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2-2.0.0-gem.zip", + "sha256": "93a51bebd7d5b931996025d6622bb09a6c20d6071da625d57eddf80f285444af" + }, + { + "version": "3.1.0", + "compatible_engines": [ + "o3de-sdk>=2.3.0", + "o3de>=2.3.0" + ], + "dependencies": [ + "Atom_RPI", + "Atom_Feature_Common", + "Atom_Component_DebugCamera", + "CommonFeaturesAtom", + "PhysX5", + "PrimitiveAssets", + "StartingPointInput" + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2-3.1.0-gem.zip", + "sha256": "aace14afcbe3feda0be0b11cb3610d93ec8e3e55a7b2f185df51ea468e7e7554" + }, + { + "version": "3.1.1", + "origin_url": "https://robotec.ai", + "source_control_uri": "https://github.com/o3de/o3de-extras/development/Gems/ROS2", + "compatible_engines": [ + "o3de-sdk>=2.3.0", + "o3de>=2.3.0" + ], + "documentation_url": "https://docs.o3de.org/docs/user-guide/gems/reference/robotics/ros2/", + "dependencies": [ + "Atom_RPI", + "Atom_Feature_Common", + "Atom_Component_DebugCamera", + "CommonFeaturesAtom", + "PhysX5", + "PrimitiveAssets", + "StartingPointInput" + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2-3.1.1-gem.zip", + "sha256": "063fea6c2d70a778dcbd92d9b1be2fff36a058d83002f612fcbfa6526b41fcde" + }, + { + "version": "3.2.2", + "origin_url": "https://robotec.ai", + "source_control_uri": "https://github.com/o3de/o3de-extras/development/Gems/ROS2", + "compatible_engines": [ + "o3de-sdk>=2.3.0", + "o3de>=2.3.0" + ], + "documentation_url": "https://docs.o3de.org/docs/user-guide/gems/reference/robotics/ros2/", + "dependencies": [ + "Atom_RPI", + "Atom_Feature_Common", + "Atom_Component_DebugCamera", + "CommonFeaturesAtom", + "PhysX5", + "PrimitiveAssets", + "StartingPointInput" + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2-3.2.2-gem.zip", + "sha256": "86bf6c09c2545db10210752e7749ed9d9784e32200196f8f1110bc7a4f704636" + }, + { + "version": "3.2.3", + "origin_url": "https://robotec.ai", + "source_control_uri": "https://github.com/o3de/o3de-extras/development/Gems/ROS2", + "compatible_engines": [ + "o3de-sdk>=2.3.0", + "o3de>=2.3.0" + ], + "requirements": "Requires ROS 2 installation (supported distributions: Humble, Jazzy). Source your workspace before building the Gem", + "documentation_url": "https://docs.o3de.org/docs/user-guide/gems/reference/robotics/ros2/", + "dependencies": [ + "Atom_RPI", + "Atom_Feature_Common", + "Atom_Component_DebugCamera", + "CommonFeaturesAtom", + "PhysX5", + "PrimitiveAssets", + "StartingPointInput" + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2-3.2.3-gem.zip", + "sha256": "903ceef078984711d516ba9ab7466fb2165e9d3d447539cd10460c22d98563db" + } + ] + }, + { + "gem_name": "RosRobotSample", + "display_name": "ROS Robot Sample", + "license": "Apache-2.0 or MIT", + "license_url": "https://opensource.org/licenses/Apache-2.0", + "origin": "Ros2WarehouseDemo", + "origin_url": "https://github.com/o3de/o3de-extras/tree/main/Gems/RosRobotSample", + "type": "Asset", + "summary": "This project contains a sample robot asset", + "canonical_tags": [ + "Gem" + ], + "user_tags": [ + "RosRobotSample" + ], + "platforms": [ + "Linux" + ], + "icon_path": "preview.png", + "requirements": "", + "documentation_url": "", + "dependencies": [ + "ROS2" + ], + "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", + "restricted": "", + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/rosrobotsample-1.0.0-gem.zip", + "version": "1.0.0", + "sha256": "6df46fcd9fff1eaff025fce708a5ca89c178ea001056bae82cc30bb2f3a09a53", + "versions_data": [ + { + "sha256": "be8973571f51d61bd3e56f40ab2d757bd7013c6bb466fe9f04ebb11c13eb7312", + "version": "1.0.0", + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/rosrobotsample-1.0.0-gem.zip" + }, + { + "version": "1.1.0", + "origin": "RobotecAI", + "origin_url": "https://robotec.ai", + "summary": "Husarion ROSbot XL robot assets.", + "requirements": "Requires ROS 2 Gem", + "dependencies": [ + "ROS2>=3.1.0" + ], + "compatible_engines": [ + "o3de-sdk>=4.1.0", + "o3de>=4.1.0" + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/rosrobotsample-1.1.0-gem.zip", + "sha256": "9911d92616bc975a2b490c2190b087e92c2260c98431f13f1a431b9bd8e2ec59" + }, + { + "version": "2.0.0", + "origin": "RobotecAI", + "origin_url": "https://robotec.ai", + "summary": "Husarion ROSbot XL robot assets.", + "requirements": "Requires ROS 2 Gem", + "dependencies": [ + "ROS2>=3.1.0" + ], + "compatible_engines": [ + "o3de-sdk>=2.3.0", + "o3de>=2.3.0" + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/rosrobotsample-2.0.0-gem.zip", + "sha256": "92ddad5fea49a0ac615c5cea417a858f49a2a1fbed24b3b878ee3bff8f538827" + }, + { + "version": "2.0.1", + "origin": "RobotecAI", + "origin_url": "https://robotec.ai", + "summary": "Husarion ROSbot XL robot assets.", + "requirements": "Requires ROS 2 Gem", + "dependencies": [ + "ROS2>=3.1.0" + ], + "compatible_engines": [ + "o3de-sdk>=2.3.0", + "o3de>=2.3.0" + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/rosrobotsample-2.0.1-gem.zip", + "sha256": "a4ff12f401cd24d01e68c2058da5312bc1567c72fc26389593ec2e36bdfd3858" + } + ] + }, + { + "gem_name": "WarehouseAssets", + "display_name": "WarehouseAssets", + "license": "Apache-2.0 or MIT", + "license_url": "https://opensource.org/licenses/Apache-2.0", + "origin": "The name of the originator or creator", + "origin_url": "https://github.com/o3de/o3de-extras/tree/main/Gems/WarehouseAssets", + "type": "Asset", + "summary": "A set of prefabs and assets to build large warehouse scenes.", + "canonical_tags": [ + "Gem" + ], + "user_tags": [ + "WarehouseAssets" + ], + "platforms": [ + "" + ], + "icon_path": "preview.png", + "requirements": "", + "documentation_url": "", + "dependencies": [], + "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", + "compatible_engines": [], + "engine_api_dependencies": [], + "restricted": "", + "version": "1.0.0", + "sha256": "c7844c1a97141d3b6a183a744b0a123a5802b400c2cac75c746b5ccd664538bb", + "versions_data": [ + { + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/warehouseassets-1.0.0-gem.zip", + "sha256": "5e69416d9c25bbcdd205bdaddcae689716044347942631d6b3e56d31b95cf094", + "version": "1.0.0" + } + ] + }, + { + "gem_name": "WarehouseSample", + "display_name": "WarehouseSample", + "license": "Apache-2.0 or MIT", + "license_url": "https://opensource.org/licenses/Apache-2.0", + "origin": "WarehouseSample", + "origin_url": "https://github.com/o3de/o3de-extras/tree/main/Gems/WarehouseSample", + "type": "Asset", + "summary": "This project contains a Warehouse sample scene", + "canonical_tags": [ + "Gem" + ], + "user_tags": [ + "WarehouseSample" + ], + "platforms": [ + "" + ], + "icon_path": "preview.png", + "requirements": "", + "documentation_url": "", + "dependencies": [], + "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", + "restricted": "", + "sha256": "8653a144cd19906ed096f0056263e0f8adce17aec13cd254c8227386ac54ae24", + "versions_data": [ + { + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/warehousesample-1.0.0-gem.zip", + "version": "1.0.0", + "sha256": "2d7860a3b65e655834a06e66dd6e4b79892c62f11095d2a5ccec149fdaf77d49" + } + ] + }, + { + "gem_name": "XR", + "display_name": "XR", + "license": "Apache-2.0 Or MIT", + "license_url": "https://github.com/o3de/o3de/blob/development/LICENSE.txt", + "origin": "Open 3D Engine - o3de.org", + "origin_url": "https://github.com/o3de/o3de", + "type": "Code", + "summary": "XR", + "canonical_tags": [ + "Gem" + ], + "user_tags": [], + "requirements": "", + "documentation_url": "", + "dependencies": [], + "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", + "version": "1.0.0", + "sha256": "65f1f53a42a362db329f16cc1edbc5043f7f2b36c6055311c592e680c1cde20c", + "versions_data": [ + { + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/xr-1.0.0-gem.zip", + "sha256": "a7098465bd953864ab996c7eb515e4f46b9b3b601309a024a8aae6182243f3e1", + "version": "1.0.0" + }, + { + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/xr-1.0.1-gem.zip", + "version": "1.0.1", + "sha256": "325a826e513611b37155c2eaa8b5b5578fdca8d96f3ef4faf34bf49c7d39a2f0" + } + ] + }, + { + "gem_name": "AudioEngineWwise", + "version": "1.0.0", + "display_name": "Wwise Audio Engine", + "license": "Apache-2.0 Or MIT", + "license_url": "https://github.com/o3de/o3de/blob/development/LICENSE.txt", + "origin": "O3DE Extras", + "origin_url": "https://github.com/o3de/o3de-extras/development/Gems/AudioEngineWwise", + "type": "Code", + "summary": "The Wwise Audio Engine Gem provides support for Audiokinetic Wave Works Interactive Sound Engine (Wwise).", + "canonical_tags": [ + "Gem" + ], + "user_tags": [ + "Audio", + "Utility", + "Tools" + ], + "compatible_engines": [ + "o3de-sdk>=2.1.0", + "o3de>=2.1.0" + ], + "icon_path": "preview.png", + "requirements": "Users will need to download Wwise from the Audiokinetic Web Site.", + "documentation_url": "https://o3de.org/docs/user-guide/gems/reference/audio/wwise/audio-engine-wwise/", + "dependencies": [ + "AudioSystem" + ], + "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/audioenginewwise-1.0.0-gem.zip", + "sha256": "5bb813e841e45cbe9d195ca50815963df8d7d57def266f6a6a765d9b786b0d83" + }, + { + "gem_name": "WarehouseAutomation", + "version": "2.0.0", + "display_name": "Warehouse Automation", + "license": "Apache-2.0", + "license_url": "https://opensource.org/licenses/Apache-2.0", + "origin": "RobotecAI", + "origin_url": "https://robotec.ai", + "type": "Code", + "summary": "Gem for simulating an automated warehouse or factory", + "canonical_tags": [ + "Gem" + ], + "user_tags": [ + "WarehouseAutomation" + ], + "compatible_engines": [ + "o3de-sdk>=2.3.0", + "o3de>=2.3.0" + ], + "platforms": [ + "Linux" + ], + "icon_path": "preview.png", + "requirements": "This gem requires ROS 2 gem and PhysX5 gem.", + "dependencies": [ + "ROS2>=2.3.0" + ], + "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", + "restricted": "WarehouseAutomation", + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/warehouseautomation-1.1.0-gem.zip", + "sha256": "21dad916ebb07232d901bbdc80ba376369e3ce4e580dcbae7d69132558357eb8", + "versions_data": [ + { + "dependencies": [ + "ROS2>=3.1.0" + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/warehouseautomation-2.0.0-gem.zip", + "sha256": "8cccbe7fa40300683d210d70fc9867c0713ae2e1fd05656c84992a31123098f4", + "version": "2.0.0" + } + ] + } + ], + "templates": [ + "https://github.com/o3de/o3de-extras.git/Templates/Multiplayer", + "https://github.com/o3de/o3de-extras.git/Templates/Ros2FleetRobotTemplate", + "https://github.com/o3de/o3de-extras.git/Templates/Ros2ProjectTemplate", + "https://github.com/o3de/o3de-extras.git/Templates/Ros2RoboticManipulationTemplate" + ], + "templates_data": [ + { + "template_name": "Multiplayer", + "version": "2.0.0", + "origin": "Open 3D Engine - o3de.org", + "license": "https://opensource.org/licenses/MIT", + "display_name": "Multiplayer", + "summary": "A multiplayer project template. Includes a built in network 3rd person player, player spawner, and network filtering example.", + "canonical_tags": [ + "Template", + "Networking" + ], + "user_tags": [ + "Multiplayer" + ], + "icon_path": "preview.png", + "copyFiles": [ + { + "file": ".command_settings", + "isTemplated": false + }, + { + "file": ".gitignore", + "isTemplated": false + }, + { + "file": "AssetBundling/SeedLists/DefaultLevel.seed", + "isTemplated": false + }, + { + "file": "Assets/Characters/Attachments/Laser_Gun/gun.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Attachments/Laser_Gun/gun_gun.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Attachments/Laser_Gun/textures/gun_low_Default_BaseColor.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Attachments/Laser_Gun/textures/gun_low_Default_Emissive.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Attachments/Laser_Gun/textures/gun_low_Default_Height.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Attachments/Laser_Gun/textures/gun_low_Default_Metallic.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Attachments/Laser_Gun/textures/gun_low_Default_Normal.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Attachments/Laser_Gun/textures/gun_low_Default_Roughness.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Climbing Ladder.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Climbing Ladder.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Dying.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Dying.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Fall A Land To Run Forward.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Fall A Land To Run Forward.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Fall A Land To Standing Idle 01.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Fall A Land To Standing Idle 01.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Fall A Loop.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Fall A Loop.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Getting Up.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Getting Up.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Hit Reaction Pistol Front.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Hit Reaction Pistol Front.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Hit Reaction Pistol Left.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Hit Reaction Pistol Left.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Idle.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Idle.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Jump.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Jump.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Knocked Down.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Left Strafe Walking.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Left Strafe Walking.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Left Strafe.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Left Strafe.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Left Turn 90.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Left Turn 90.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Left Turn.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Left Turn.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Opening.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Opening.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Picking Up.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Picking Up.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Idle.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Idle.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Jump 2.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Jump 2.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Jump.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Jump.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Kneel To Stand.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Kneel To Stand.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Kneeling Idle.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Kneeling Idle.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Recoil.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Recoil.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Run Arc 2.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Run Arc 2.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Run Arc.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Run Arc.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Run Backward Arc 2.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Run Backward Arc 2.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Run Backward Arc.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Run Backward Arc.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Run Backward.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Run Backward.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Run.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Run.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Stand To Kneel.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Stand To Kneel.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Strafe 2.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Strafe 2.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Strafe.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Strafe.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Arc 2.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Arc 2.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Arc.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Arc.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Backward Arc 2.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Backward Arc 2.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Backward Arc.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Backward Arc.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Backward.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Walk Backward.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Walk.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pistol Walk.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pull Heavy Object.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pull Heavy Object.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pushing.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Pushing.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Right Strafe Walking.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Right Strafe Walking.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Right Strafe.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Right Strafe.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Right Turn 90.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Right Turn 90.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Right Turn.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Right Turn.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Running Backward.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Running Backward.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Running Jump.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Running Jump.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Running.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Stunned.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Stunned.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Victory.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Victory.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Walking Backwards.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Walking Backwards.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Walking.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/Walking.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/running.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Animations/stub", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/LICENSE.txt", + "isTemplated": true + }, + { + "file": "Assets/Characters/Mixamo/Ybot/YBot.animgraph", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/YBot.emfxworkspace", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/YBot.motionset", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/skins/mixamo_logo.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/skins/ybot_body_base.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/skins/ybot_head_base.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/skins/ybot_joints_base.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/test_data/ybot_mesh_test.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/test_data/ybot_mesh_test_Body_MAT.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/test_data/ybot_mesh_test_Head_MAT.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/test_data/ybot_mesh_test_Joints_MAT.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/test_data/ybot_mesh_test_Left_Arm_MAT.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/test_data/ybot_mesh_test_Left_Leg_MAT.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/test_data/ybot_mesh_test_Logo_Plate_MAT.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/test_data/ybot_mesh_test_Right_Arm_MAT.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/test_data/ybot_mesh_test_Right_Leg_MAT.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_Joints_AO.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_Joints_basecolor.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_Joints_cavity.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_Joints_normal.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_body_ao.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_body_basecolor.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_body_cavity.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_body_normal.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_head_ao.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_head_basecolor.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_head_cavity.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/textures/Alpha_base_head_normal.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/textures/mixamo_logo_alpha.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/textures/mixamo_logo_basecolor.png", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/textures/ps838.tmp", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/ybot.fbx", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/ybot.fbx.assetinfo", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/ybot_Body_MAT.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/ybot_Head_MAT.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/ybot_Joints_MAT.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/ybot_Left_Arm_MAT.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/ybot_Left_Leg_MAT.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/ybot_Logo_Plate_MAT.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/ybot_Right_Arm_MAT.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/Ybot/ybot_Right_Leg_MAT.material", + "isTemplated": false + }, + { + "file": "Assets/Characters/Mixamo/readme.md", + "isTemplated": false + }, + { + "file": "Assets/InputBindings/player.inputbindings", + "isTemplated": false + }, + { + "file": "Assets/Prefabs/4x4x4BoxGrid.prefab", + "isTemplated": false + }, + { + "file": "Assets/Prefabs/Player.prefab", + "isTemplated": true + }, + { + "file": "Assets/Prefabs/laser_pistol.prefab", + "isTemplated": false + }, + { + "file": "Assets/UI/BasicHUD/BasicHUD.uicanvas", + "isTemplated": false + }, + { + "file": "Assets/UI/BasicHUD/Reticle.png", + "isTemplated": false + }, + { + "file": "Assets/UI/BasicHUD/Reticle.sprite", + "isTemplated": false + }, + { + "file": "CMakeLists.txt", + "isTemplated": true + }, + { + "file": "CMakePresets.json", + "isTemplated": false + }, + { + "file": "Config/default_aws_resource_mappings.json", + "isTemplated": false + }, + { + "file": "Config/shader_global_build_options.json", + "isTemplated": false + }, + { + "file": "Gem/${NameLower}_autogen_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/${NameLower}_client_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/${NameLower}_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${NameLower}_server_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/${NameLower}_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/${Name}Bus.h", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/${Name}TypeIds.h", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/GameplayEffectsNotificationBus.h", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/NetworkPrefabSpawnerInterface.h", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/WeaponNotificationBus.h", + "isTemplated": true + }, + { + "file": "Gem/Platform/Android/${NameLower}_android_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Android/${NameLower}_shared_android_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Android/PAL_android.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${NameLower}_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/${NameLower}_shared_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/PAL_linux.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${NameLower}_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/${NameLower}_shared_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/PAL_mac.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${NameLower}_shared_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/${NameLower}_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/PAL_windows.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/iOS/${NameLower}_ios_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/iOS/${NameLower}_shared_ios_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/iOS/PAL_ios.cmake", + "isTemplated": true + }, + { + "file": "Gem/Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}Module.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}Types.h", + "isTemplated": true + }, + { + "file": "Gem/Source/AutoGen/GameplayEffectsComponent.AutoComponent.xml", + "isTemplated": true + }, + { + "file": "Gem/Source/AutoGen/NetworkAiComponent.AutoComponent.xml", + "isTemplated": true + }, + { + "file": "Gem/Source/AutoGen/NetworkAnimationComponent.AutoComponent.xml", + "isTemplated": true + }, + { + "file": "Gem/Source/AutoGen/NetworkHealthComponent.AutoComponent.xml", + "isTemplated": true + }, + { + "file": "Gem/Source/AutoGen/NetworkPlayerMovementComponent.AutoComponent.xml", + "isTemplated": true + }, + { + "file": "Gem/Source/AutoGen/NetworkRandomComponent.AutoComponent.xml", + "isTemplated": true + }, + { + "file": "Gem/Source/AutoGen/NetworkSimplePlayerCameraComponent.AutoComponent.xml", + "isTemplated": true + }, + { + "file": "Gem/Source/AutoGen/NetworkWeaponsComponent.AutoComponent.xml", + "isTemplated": true + }, + { + "file": "Gem/Source/AutoGen/ScriptingPlayerMovementComponent.AutoComponent.xml", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/AttachPlayerWeaponComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/AttachPlayerWeaponComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/ExampleFilteredEntityComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/ExampleFilteredEntityComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/GameplayEffectsComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/GameplayEffectsComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/NetworkAiComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/NetworkAiComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/NetworkAnimationComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/NetworkAnimationComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/NetworkHealthComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/NetworkHealthComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/NetworkPlayerMovementComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/NetworkPlayerMovementComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/NetworkPrefabSpawnerComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/NetworkPrefabSpawnerComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/NetworkRandomComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/NetworkRandomComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/NetworkSimplePlayerCameraComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/NetworkSimplePlayerCameraComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/NetworkWeaponsComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/Components/NetworkWeaponsComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/Effects/GameEffect.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/Effects/GameEffect.h", + "isTemplated": true + }, + { + "file": "Gem/Source/Weapons/BaseWeapon.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/Weapons/BaseWeapon.h", + "isTemplated": true + }, + { + "file": "Gem/Source/Weapons/IWeapon.h", + "isTemplated": true + }, + { + "file": "Gem/Source/Weapons/ProjectileWeapon.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/Weapons/ProjectileWeapon.h", + "isTemplated": true + }, + { + "file": "Gem/Source/Weapons/SceneQuery.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/Weapons/SceneQuery.h", + "isTemplated": true + }, + { + "file": "Gem/Source/Weapons/TraceWeapon.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/Weapons/TraceWeapon.h", + "isTemplated": true + }, + { + "file": "Gem/Source/Weapons/WeaponGathers.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/Weapons/WeaponGathers.h", + "isTemplated": true + }, + { + "file": "Gem/Source/Weapons/WeaponTypes.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/Weapons/WeaponTypes.h", + "isTemplated": true + }, + { + "file": "Gem/gem.json", + "isTemplated": true + }, + { + "file": "Levels/DefaultLevel/DefaultLevel.prefab", + "isTemplated": false + }, + { + "file": "Platform/Android/android_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Android/android_project.json", + "isTemplated": true + }, + { + "file": "Platform/Linux/linux_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.json", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.json", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.json", + "isTemplated": false + }, + { + "file": "Platform/iOS/ios_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/iOS/ios_project.json", + "isTemplated": false + }, + { + "file": "Registry/Platform/Android/quality.setreg", + "isTemplated": false + }, + { + "file": "Registry/Platform/Linux/quality.setreg", + "isTemplated": false + }, + { + "file": "Registry/Platform/Mac/quality.setreg", + "isTemplated": false + }, + { + "file": "Registry/Platform/Windows/quality.setreg", + "isTemplated": false + }, + { + "file": "Registry/Platform/iOS/quality.setreg", + "isTemplated": false + }, + { + "file": "Registry/assetprocessor_settings.setreg", + "isTemplated": false + }, + { + "file": "Registry/awscoreconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/load_level.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdebugconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdefaultsceneconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxsystemconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/quality.client.setreg", + "isTemplated": false + }, + { + "file": "Registry/quality.headless.setreg", + "isTemplated": false + }, + { + "file": "Registry/quality.server.setreg", + "isTemplated": false + }, + { + "file": "Registry/quality.setreg", + "isTemplated": false + }, + { + "file": "Resources/GameSDK.ico", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_128.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_128_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_16.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_16_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_256.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_256_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_32.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_32_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_512.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset/icon_512_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Info.plist", + "isTemplated": true + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPadAppIcon152x152.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPadAppIcon76x76.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPadProAppIcon167x167.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPadSettingsIcon29x29.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPadSettingsIcon58x58.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPadSpotlightIcon40x40.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPadSpotlightIcon80x80.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPhoneAppIcon120x120.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPhoneAppIcon180x180.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPhoneSettingsIcon58x58.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPhoneSettingsIcon87x87.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPhoneSpotlightIcon120x120.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset/iPhoneSpotlightIcon80x80.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1024x768.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1536x2048.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage2048x1536.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage768x1024.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x1136.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x960.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Info.plist", + "isTemplated": true + }, + { + "file": "Resources/Splash.bmp", + "isTemplated": false + }, + { + "file": "ShaderLib/README.md", + "isTemplated": false + }, + { + "file": "ShaderLib/scenesrg.srgi", + "isTemplated": false + }, + { + "file": "ShaderLib/viewsrg.srgi", + "isTemplated": false + }, + { + "file": "autoexec.cfg", + "isTemplated": false + }, + { + "file": "cmake/EngineFinder.cmake", + "isTemplated": false + }, + { + "file": "editor.cfg", + "isTemplated": false + }, + { + "file": "export.bat", + "isTemplated": false + }, + { + "file": "export.sh", + "isTemplated": false + }, + { + "file": "game.cfg", + "isTemplated": false + }, + { + "file": "preview.png", + "isTemplated": false + }, + { + "file": "project.json", + "isTemplated": true + } + ], + "createDirectories": [ + { + "dir": "AssetBundling" + }, + { + "dir": "AssetBundling/SeedLists" + }, + { + "dir": "Assets" + }, + { + "dir": "Assets/Characters" + }, + { + "dir": "Assets/Characters/Attachments" + }, + { + "dir": "Assets/Characters/Attachments/Laser_Gun" + }, + { + "dir": "Assets/Characters/Attachments/Laser_Gun/textures" + }, + { + "dir": "Assets/Characters/Mixamo" + }, + { + "dir": "Assets/Characters/Mixamo/Animations" + }, + { + "dir": "Assets/Characters/Mixamo/Ybot" + }, + { + "dir": "Assets/Characters/Mixamo/Ybot/skins" + }, + { + "dir": "Assets/Characters/Mixamo/Ybot/test_data" + }, + { + "dir": "Assets/Characters/Mixamo/Ybot/textures" + }, + { + "dir": "Assets/InputBindings" + }, + { + "dir": "Assets/Prefabs" + }, + { + "dir": "Assets/UI" + }, + { + "dir": "Assets/UI/BasicHUD" + }, + { + "dir": "Config" + }, + { + "dir": "Gem" + }, + { + "dir": "Gem/Include" + }, + { + "dir": "Gem/Include/${Name}" + }, + { + "dir": "Gem/Platform" + }, + { + "dir": "Gem/Platform/Android" + }, + { + "dir": "Gem/Platform/Linux" + }, + { + "dir": "Gem/Platform/Mac" + }, + { + "dir": "Gem/Platform/Windows" + }, + { + "dir": "Gem/Platform/iOS" + }, + { + "dir": "Gem/Registry" + }, + { + "dir": "Gem/Source" + }, + { + "dir": "Gem/Source/AutoGen" + }, + { + "dir": "Gem/Source/Components" + }, + { + "dir": "Gem/Source/Effects" + }, + { + "dir": "Gem/Source/Weapons" + }, + { + "dir": "Levels" + }, + { + "dir": "Levels/DefaultLevel" + }, + { + "dir": "Platform" + }, + { + "dir": "Platform/Android" + }, + { + "dir": "Platform/Linux" + }, + { + "dir": "Platform/Mac" + }, + { + "dir": "Platform/Windows" + }, + { + "dir": "Platform/iOS" + }, + { + "dir": "Registry" + }, + { + "dir": "Registry/Platform" + }, + { + "dir": "Registry/Platform/Android" + }, + { + "dir": "Registry/Platform/Linux" + }, + { + "dir": "Registry/Platform/Mac" + }, + { + "dir": "Registry/Platform/Windows" + }, + { + "dir": "Registry/Platform/iOS" + }, + { + "dir": "Resources" + }, + { + "dir": "Resources/Platform" + }, + { + "dir": "Resources/Platform/Mac" + }, + { + "dir": "Resources/Platform/Mac/Images.xcassets" + }, + { + "dir": "Resources/Platform/Mac/Images.xcassets/${Name}AppIcon.appiconset" + }, + { + "dir": "Resources/Platform/iOS" + }, + { + "dir": "Resources/Platform/iOS/Images.xcassets" + }, + { + "dir": "Resources/Platform/iOS/Images.xcassets/${Name}AppIcon.appiconset" + }, + { + "dir": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage" + }, + { + "dir": "ShaderLib" + }, + { + "dir": "cmake" + } + ], + "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/multiplayer-2.0.0-template.zip", + "sha256": "f6eaa01c0a66fef0a9fa55e00637ae087f11287f30540ccd479c2988f9e41ab4" + }, + { + "template_name": "Ros2FleetRobotTemplate", + "version": "1.0.0", + "origin": "Open 3D Engine Extras", + "origin_url": "https://github.com/o3de/o3de-extras", + "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", + "license_url": "https://github.com/o3de/o3de-extras/tree/development/Templates/Ros2FleetRobotTemplate/Template/LICENSE.txt", + "display_name": "ROS2 Fleet Robot", + "summary": "Template for ROS2 multi-robot project.", + "canonical_tags": [], + "user_tags": [ + "Ros2FleetRobotTemplate", + "ROS2", + "ROS" + ], + "icon_path": "preview.png", + "copyFiles": [ + { + "file": ".gitignore", + "isTemplated": false + }, + { + "file": "CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Config/shader_global_build_options.json", + "isTemplated": false + }, + { + "file": "Gem/${Name}_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${Name}_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/${Name}Bus.h", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${Name}_linux_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${Name}_shared_linux_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/PAL_linux.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${Name}_mac_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${Name}_shared_mac_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/PAL_mac.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${Name}_shared_windows_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${Name}_windows_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/PAL_windows.cmake", + "isTemplated": true + }, + { + "file": "Gem/Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}Module.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/enabled_gems.cmake", + "isTemplated": true + }, + { + "file": "Gem/gem.json", + "isTemplated": true + }, + { + "file": "Levels/Warehouse/Warehouse.prefab", + "isTemplated": false + }, + { + "file": "Levels/playground/playground.prefab", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.cmake", + "isTemplated": true + }, + { + "file": "Platform/Linux/linux_project.json", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.cmake", + "isTemplated": true + }, + { + "file": "Platform/Mac/mac_project.json", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.cmake", + "isTemplated": true + }, + { + "file": "Platform/Windows/windows_project.json", + "isTemplated": false + }, + { + "file": "Registry/assetprocessor_settings.setreg", + "isTemplated": false + }, + { + "file": "Registry/awscoreconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdebugconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdefaultsceneconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxsystemconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Resources/GameSDK.ico", + "isTemplated": false + }, + { + "file": "Resources/LegacyLogoLauncher.bmp", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Info.plist", + "isTemplated": true + }, + { + "file": "ShaderLib/README.md", + "isTemplated": false + }, + { + "file": "ShaderLib/scenesrg.srgi", + "isTemplated": true + }, + { + "file": "ShaderLib/viewsrg.srgi", + "isTemplated": true + }, + { + "file": "Passes/ContrastAdaptiveSharpening.pass", + "isTemplated": false + }, + { + "file": "Passes/MainRenderPipeline.azasset", + "isTemplated": false + }, + { + "file": "Passes/PostProcessParent.pass", + "isTemplated": false + }, + { + "file": "Passes/SMAAConfiguration.azasset", + "isTemplated": false + }, + { + "file": "Passes/Taa.pass", + "isTemplated": false + }, + { + "file": "autoexec.cfg", + "isTemplated": false + }, + { + "file": "cmake/EngineFinder.cmake", + "isTemplated": false + }, + { + "file": "game.cfg", + "isTemplated": false + }, + { + "file": "preview.png", + "isTemplated": false + }, + { + "file": "project.json", + "isTemplated": true + } + ], + "createDirectories": [ + { + "dir": "Assets" + }, + { + "dir": "Config" + }, + { + "dir": "Gem" + }, + { + "dir": "Gem/Include" + }, + { + "dir": "Gem/Include/${Name}" + }, + { + "dir": "Gem/Platform" + }, + { + "dir": "Gem/Platform/Linux" + }, + { + "dir": "Gem/Platform/Mac" + }, + { + "dir": "Gem/Platform/Windows" + }, + { + "dir": "Gem/Registry" + }, + { + "dir": "Gem/Source" + }, + { + "dir": "Levels" + }, + { + "dir": "Levels/Warehouse" + }, + { + "dir": "Levels/playground" + }, + { + "dir": "Levels/playground/_savebackup" + }, + { + "dir": "Levels/playground/_savebackup/2023-02-21 [13.25.33]" + }, + { + "dir": "Passes" + }, + { + "dir": "Platform" + }, + { + "dir": "Platform/Android" + }, + { + "dir": "Platform/Linux" + }, + { + "dir": "Platform/Mac" + }, + { + "dir": "Platform/Windows" + }, + { + "dir": "Registry" + }, + { + "dir": "Resources" + }, + { + "dir": "Resources/Platform" + }, + { + "dir": "Resources/Platform/Mac" + }, + { + "dir": "Resources/Platform/Mac/Images.xcassets" + }, + { + "dir": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset" + }, + { + "dir": "ShaderLib" + }, + { + "dir": "Shaders" + }, + { + "dir": "Shaders/ShaderResourceGroups" + }, + { + "dir": "cmake" + }, + { + "dir": "proteus_nav" + }, + { + "dir": "proteus_nav/src" + }, + { + "dir": "proteus_nav/src/proteus_nav" + }, + { + "dir": "proteus_nav/src/proteus_nav/launch" + }, + { + "dir": "proteus_nav/src/proteus_nav/launch/__pycache__" + }, + { + "dir": "proteus_nav/src/proteus_nav/launch/config" + }, + { + "dir": "proteus_nav/src/proteus_nav/proteus_nav" + }, + { + "dir": "proteus_nav/src/proteus_nav/resource" + }, + { + "dir": "proteus_nav/src/proteus_nav/test" + }, + { + "dir": "proteus_nav/src/proteus_nav/test/__pycache__" + } + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2fleetrobottemplate-1.0.0-template.zip", + "sha256": "1c9d48b064881c41a98315839fe079eb58bd414445dfaa0b695a00109d5bab02", + "versions_data": [ + { + "sha256": "5617f52c2da6c8f869c2073d3b10b8941d71af8696d3593e90431b8df7be2497", + "version": "1.0.0", + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2fleetrobottemplate-1.0.0-template.zip" + }, + { + "version": "1.2.0", + "copyFiles": [ + { + "file": ".gitignore", + "isTemplated": false + }, + { + "file": "CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Config/shader_global_build_options.json", + "isTemplated": false + }, + { + "file": "Gem/${Name}_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${Name}_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/${Name}Bus.h", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${Name}_linux_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${Name}_shared_linux_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/PAL_linux.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${Name}_mac_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${Name}_shared_mac_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/PAL_mac.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${Name}_shared_windows_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${Name}_windows_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/PAL_windows.cmake", + "isTemplated": true + }, + { + "file": "Gem/Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}Module.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/gem.json", + "isTemplated": true + }, + { + "file": "Levels/Warehouse/Warehouse.prefab", + "isTemplated": false + }, + { + "file": "Levels/playground/playground.prefab", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.cmake", + "isTemplated": true + }, + { + "file": "Platform/Linux/linux_project.json", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.cmake", + "isTemplated": true + }, + { + "file": "Platform/Mac/mac_project.json", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.cmake", + "isTemplated": true + }, + { + "file": "Platform/Windows/windows_project.json", + "isTemplated": false + }, + { + "file": "Registry/assetprocessor_settings.setreg", + "isTemplated": false + }, + { + "file": "Registry/awscoreconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdebugconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdefaultsceneconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxsystemconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Resources/GameSDK.ico", + "isTemplated": false + }, + { + "file": "Resources/LegacyLogoLauncher.bmp", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Info.plist", + "isTemplated": true + }, + { + "file": "ShaderLib/README.md", + "isTemplated": false + }, + { + "file": "ShaderLib/scenesrg.srgi", + "isTemplated": true + }, + { + "file": "ShaderLib/viewsrg.srgi", + "isTemplated": true + }, + { + "file": "Passes/ContrastAdaptiveSharpening.pass", + "isTemplated": false + }, + { + "file": "Passes/MainRenderPipeline.azasset", + "isTemplated": false + }, + { + "file": "Passes/PostProcessParent.pass", + "isTemplated": false + }, + { + "file": "Passes/SMAAConfiguration.azasset", + "isTemplated": false + }, + { + "file": "Passes/Taa.pass", + "isTemplated": false + }, + { + "file": "Prefabs/ProteusLaserScanner.prefab", + "isTemplated": false + }, + { + "file": "autoexec.cfg", + "isTemplated": false + }, + { + "file": "cmake/EngineFinder.cmake", + "isTemplated": false + }, + { + "file": "game.cfg", + "isTemplated": false + }, + { + "file": "preview.png", + "isTemplated": false + }, + { + "file": "project.json", + "isTemplated": true + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.pgm", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/resource/o3de_fleet_nav", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_multirobot_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_multirobot_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/package.xml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/NOTICE", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/config/fleet_config.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_rviz_launch.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_nav_launch.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_fleet_nav_launch.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/__init__.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/robot_spawner.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_pep257.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_flake8.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_copyright.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.cfg", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/rviz/nav2_namespaced_view.rviz", + "isTemplated": false + } + ], + "createDirectories": [ + { + "dir": "Assets" + }, + { + "dir": "Config" + }, + { + "dir": "Gem" + }, + { + "dir": "Gem/Include" + }, + { + "dir": "Gem/Include/${Name}" + }, + { + "dir": "Gem/Platform" + }, + { + "dir": "Gem/Platform/Linux" + }, + { + "dir": "Gem/Platform/Mac" + }, + { + "dir": "Gem/Platform/Windows" + }, + { + "dir": "Gem/Registry" + }, + { + "dir": "Gem/Source" + }, + { + "dir": "Levels" + }, + { + "dir": "Levels/Warehouse" + }, + { + "dir": "Levels/playground" + }, + { + "dir": "Levels/playground/_savebackup" + }, + { + "dir": "Levels/playground/_savebackup/2023-02-21 [13.25.33]" + }, + { + "dir": "Passes" + }, + { + "dir": "Platform" + }, + { + "dir": "Platform/Android" + }, + { + "dir": "Platform/Linux" + }, + { + "dir": "Platform/Mac" + }, + { + "dir": "Platform/Windows" + }, + { + "dir": "Registry" + }, + { + "dir": "Resources" + }, + { + "dir": "Resources/Platform" + }, + { + "dir": "Resources/Platform/Mac" + }, + { + "dir": "Resources/Platform/Mac/Images.xcassets" + }, + { + "dir": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset" + }, + { + "dir": "ShaderLib" + }, + { + "dir": "Shaders" + }, + { + "dir": "Prefabs" + }, + { + "dir": "Shaders/ShaderResourceGroups" + }, + { + "dir": "cmake" + }, + { + "dir": "Examples" + }, + { + "dir": "Examples/ros2_ws" + }, + { + "dir": "Examples/ros2_ws/src" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/config" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/launch" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/maps" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/params" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/resource" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/rviz" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/test" + } + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2fleetrobottemplate-1.2.0-template.zip", + "sha256": "15976b73a541146d48c13026986259161b0304e89501775bde7deab7518aadf1" + }, + { + "version": "2.0.0", + "copyFiles": [ + { + "file": ".gitignore", + "isTemplated": false + }, + { + "file": "CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Config/shader_global_build_options.json", + "isTemplated": false + }, + { + "file": "Gem/${Name}_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${Name}_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/${Name}Bus.h", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${Name}_linux_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${Name}_shared_linux_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/PAL_linux.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${Name}_mac_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${Name}_shared_mac_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/PAL_mac.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${Name}_shared_windows_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${Name}_windows_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/PAL_windows.cmake", + "isTemplated": true + }, + { + "file": "Gem/Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}Module.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/gem.json", + "isTemplated": true + }, + { + "file": "Levels/Warehouse/Warehouse.prefab", + "isTemplated": false + }, + { + "file": "Levels/playground/playground.prefab", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.cmake", + "isTemplated": true + }, + { + "file": "Platform/Linux/linux_project.json", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.cmake", + "isTemplated": true + }, + { + "file": "Platform/Mac/mac_project.json", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.cmake", + "isTemplated": true + }, + { + "file": "Platform/Windows/windows_project.json", + "isTemplated": false + }, + { + "file": "Registry/assetprocessor_settings.setreg", + "isTemplated": false + }, + { + "file": "Registry/awscoreconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdebugconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdefaultsceneconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxsystemconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Resources/GameSDK.ico", + "isTemplated": false + }, + { + "file": "Resources/LegacyLogoLauncher.bmp", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Info.plist", + "isTemplated": true + }, + { + "file": "ShaderLib/README.md", + "isTemplated": false + }, + { + "file": "ShaderLib/scenesrg.srgi", + "isTemplated": true + }, + { + "file": "ShaderLib/viewsrg.srgi", + "isTemplated": true + }, + { + "file": "Passes/ContrastAdaptiveSharpening.pass", + "isTemplated": false + }, + { + "file": "Passes/MainRenderPipeline.azasset", + "isTemplated": false + }, + { + "file": "Passes/PostProcessParent.pass", + "isTemplated": false + }, + { + "file": "Passes/SMAAConfiguration.azasset", + "isTemplated": false + }, + { + "file": "Passes/Taa.pass", + "isTemplated": false + }, + { + "file": "Prefabs/ProteusLaserScanner.prefab", + "isTemplated": false + }, + { + "file": "autoexec.cfg", + "isTemplated": false + }, + { + "file": "cmake/EngineFinder.cmake", + "isTemplated": false + }, + { + "file": "game.cfg", + "isTemplated": false + }, + { + "file": "preview.png", + "isTemplated": false + }, + { + "file": "project.json", + "isTemplated": true + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.pgm", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/resource/o3de_fleet_nav", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_multirobot_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_multirobot_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/package.xml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/NOTICE", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/config/fleet_config.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_rviz_launch.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_nav_launch.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_fleet_nav_launch.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/__init__.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/robot_spawner.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_pep257.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_flake8.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_copyright.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.cfg", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/rviz/nav2_namespaced_view.rviz", + "isTemplated": false + } + ], + "createDirectories": [ + { + "dir": "Assets" + }, + { + "dir": "Config" + }, + { + "dir": "Gem" + }, + { + "dir": "Gem/Include" + }, + { + "dir": "Gem/Include/${Name}" + }, + { + "dir": "Gem/Platform" + }, + { + "dir": "Gem/Platform/Linux" + }, + { + "dir": "Gem/Platform/Mac" + }, + { + "dir": "Gem/Platform/Windows" + }, + { + "dir": "Gem/Registry" + }, + { + "dir": "Gem/Source" + }, + { + "dir": "Levels" + }, + { + "dir": "Levels/Warehouse" + }, + { + "dir": "Levels/playground" + }, + { + "dir": "Levels/playground/_savebackup" + }, + { + "dir": "Levels/playground/_savebackup/2023-02-21 [13.25.33]" + }, + { + "dir": "Passes" + }, + { + "dir": "Platform" + }, + { + "dir": "Platform/Android" + }, + { + "dir": "Platform/Linux" + }, + { + "dir": "Platform/Mac" + }, + { + "dir": "Platform/Windows" + }, + { + "dir": "Registry" + }, + { + "dir": "Resources" + }, + { + "dir": "Resources/Platform" + }, + { + "dir": "Resources/Platform/Mac" + }, + { + "dir": "Resources/Platform/Mac/Images.xcassets" + }, + { + "dir": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset" + }, + { + "dir": "ShaderLib" + }, + { + "dir": "Shaders" + }, + { + "dir": "Prefabs" + }, + { + "dir": "Shaders/ShaderResourceGroups" + }, + { + "dir": "cmake" + }, + { + "dir": "Examples" + }, + { + "dir": "Examples/ros2_ws" + }, + { + "dir": "Examples/ros2_ws/src" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/config" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/launch" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/maps" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/params" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/resource" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/rviz" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/test" + } + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2fleetrobottemplate-2.0.0-template.zip", + "sha256": "a788901be9a503165050345be940dcbd5a02d6eea9cd0b6a4cb1a92ae12b2170" + }, + { + "version": "2.0.1", + "copyFiles": [ + { + "file": ".gitignore", + "isTemplated": false + }, + { + "file": "CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Config/shader_global_build_options.json", + "isTemplated": false + }, + { + "file": "Gem/${Name}_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${Name}_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/${Name}Bus.h", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${Name}_linux_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${Name}_shared_linux_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/PAL_linux.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${Name}_mac_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${Name}_shared_mac_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/PAL_mac.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${Name}_shared_windows_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${Name}_windows_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/PAL_windows.cmake", + "isTemplated": true + }, + { + "file": "Gem/Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}Module.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/gem.json", + "isTemplated": true + }, + { + "file": "Levels/Warehouse/Warehouse.prefab", + "isTemplated": false + }, + { + "file": "Levels/playground/playground.prefab", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.cmake", + "isTemplated": true + }, + { + "file": "Platform/Linux/linux_project.json", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.cmake", + "isTemplated": true + }, + { + "file": "Platform/Mac/mac_project.json", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.cmake", + "isTemplated": true + }, + { + "file": "Platform/Windows/windows_project.json", + "isTemplated": false + }, + { + "file": "Registry/assetprocessor_settings.setreg", + "isTemplated": false + }, + { + "file": "Registry/awscoreconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdebugconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdefaultsceneconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxsystemconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Resources/GameSDK.ico", + "isTemplated": false + }, + { + "file": "Resources/LegacyLogoLauncher.bmp", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Info.plist", + "isTemplated": true + }, + { + "file": "ShaderLib/README.md", + "isTemplated": false + }, + { + "file": "ShaderLib/scenesrg.srgi", + "isTemplated": true + }, + { + "file": "ShaderLib/viewsrg.srgi", + "isTemplated": true + }, + { + "file": "Passes/ContrastAdaptiveSharpening.pass", + "isTemplated": false + }, + { + "file": "Passes/MainRenderPipeline.azasset", + "isTemplated": false + }, + { + "file": "Passes/PostProcessParent.pass", + "isTemplated": false + }, + { + "file": "Passes/SMAAConfiguration.azasset", + "isTemplated": false + }, + { + "file": "Passes/Taa.pass", + "isTemplated": false + }, + { + "file": "Prefabs/ProteusLaserScanner.prefab", + "isTemplated": false + }, + { + "file": "autoexec.cfg", + "isTemplated": false + }, + { + "file": "cmake/EngineFinder.cmake", + "isTemplated": false + }, + { + "file": "game.cfg", + "isTemplated": false + }, + { + "file": "preview.png", + "isTemplated": false + }, + { + "file": "project.json", + "isTemplated": true + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.pgm", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/resource/o3de_fleet_nav", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_multirobot_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_multirobot_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/package.xml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/NOTICE", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/config/fleet_config.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_rviz_launch.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_nav_launch.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_fleet_nav_launch.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/__init__.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/robot_spawner.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_pep257.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_flake8.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_copyright.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.cfg", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/rviz/nav2_namespaced_view.rviz", + "isTemplated": false + } + ], + "createDirectories": [ + { + "dir": "Assets" + }, + { + "dir": "Config" + }, + { + "dir": "Gem" + }, + { + "dir": "Gem/Include" + }, + { + "dir": "Gem/Include/${Name}" + }, + { + "dir": "Gem/Platform" + }, + { + "dir": "Gem/Platform/Linux" + }, + { + "dir": "Gem/Platform/Mac" + }, + { + "dir": "Gem/Platform/Windows" + }, + { + "dir": "Gem/Registry" + }, + { + "dir": "Gem/Source" + }, + { + "dir": "Levels" + }, + { + "dir": "Levels/Warehouse" + }, + { + "dir": "Levels/playground" + }, + { + "dir": "Levels/playground/_savebackup" + }, + { + "dir": "Levels/playground/_savebackup/2023-02-21 [13.25.33]" + }, + { + "dir": "Passes" + }, + { + "dir": "Platform" + }, + { + "dir": "Platform/Android" + }, + { + "dir": "Platform/Linux" + }, + { + "dir": "Platform/Mac" + }, + { + "dir": "Platform/Windows" + }, + { + "dir": "Registry" + }, + { + "dir": "Resources" + }, + { + "dir": "Resources/Platform" + }, + { + "dir": "Resources/Platform/Mac" + }, + { + "dir": "Resources/Platform/Mac/Images.xcassets" + }, + { + "dir": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset" + }, + { + "dir": "ShaderLib" + }, + { + "dir": "Shaders" + }, + { + "dir": "Prefabs" + }, + { + "dir": "Shaders/ShaderResourceGroups" + }, + { + "dir": "cmake" + }, + { + "dir": "Examples" + }, + { + "dir": "Examples/ros2_ws" + }, + { + "dir": "Examples/ros2_ws/src" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/config" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/launch" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/maps" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/params" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/resource" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/rviz" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/test" + } + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2fleetrobottemplate-2.0.1-template.zip", + "sha256": "33023262e18e7b72e2cd78e96982fd90df9f9095a78bead6d2afb74c2ed390c4" + }, + { + "version": "2.0.2", + "copyFiles": [ + { + "file": ".gitignore", + "isTemplated": false + }, + { + "file": "CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Config/shader_global_build_options.json", + "isTemplated": false + }, + { + "file": "Gem/${Name}_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${Name}_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/${Name}Bus.h", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${Name}_linux_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${Name}_shared_linux_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/PAL_linux.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${Name}_mac_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${Name}_shared_mac_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/PAL_mac.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${Name}_shared_windows_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${Name}_windows_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/PAL_windows.cmake", + "isTemplated": true + }, + { + "file": "Gem/Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}Module.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/gem.json", + "isTemplated": true + }, + { + "file": "Levels/Warehouse/Warehouse.prefab", + "isTemplated": false + }, + { + "file": "Levels/playground/playground.prefab", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.cmake", + "isTemplated": true + }, + { + "file": "Platform/Linux/linux_project.json", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.cmake", + "isTemplated": true + }, + { + "file": "Platform/Mac/mac_project.json", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.cmake", + "isTemplated": true + }, + { + "file": "Platform/Windows/windows_project.json", + "isTemplated": false + }, + { + "file": "Registry/assetprocessor_settings.setreg", + "isTemplated": false + }, + { + "file": "Registry/awscoreconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdebugconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdefaultsceneconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxsystemconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/ros2.setreg", + "isTemplated": false + }, + { + "file": "Resources/GameSDK.ico", + "isTemplated": false + }, + { + "file": "Resources/LegacyLogoLauncher.bmp", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Info.plist", + "isTemplated": true + }, + { + "file": "ShaderLib/README.md", + "isTemplated": false + }, + { + "file": "ShaderLib/scenesrg.srgi", + "isTemplated": true + }, + { + "file": "ShaderLib/viewsrg.srgi", + "isTemplated": true + }, + { + "file": "Passes/ContrastAdaptiveSharpening.pass", + "isTemplated": false + }, + { + "file": "Passes/MainRenderPipeline.azasset", + "isTemplated": false + }, + { + "file": "Passes/PostProcessParent.pass", + "isTemplated": false + }, + { + "file": "Passes/SMAAConfiguration.azasset", + "isTemplated": false + }, + { + "file": "Passes/Taa.pass", + "isTemplated": false + }, + { + "file": "Prefabs/ProteusLaserScanner.prefab", + "isTemplated": false + }, + { + "file": "autoexec.cfg", + "isTemplated": false + }, + { + "file": "cmake/EngineFinder.cmake", + "isTemplated": false + }, + { + "file": "game.cfg", + "isTemplated": false + }, + { + "file": "preview.png", + "isTemplated": false + }, + { + "file": "project.json", + "isTemplated": true + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.pgm", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/resource/o3de_fleet_nav", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_multirobot_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_multirobot_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/package.xml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/NOTICE", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/config/fleet_config.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_rviz_launch.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_nav_launch.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_fleet_nav_launch.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/__init__.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/robot_spawner.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_pep257.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_flake8.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_copyright.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.cfg", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/rviz/nav2_namespaced_view.rviz", + "isTemplated": false + } + ], + "createDirectories": [ + { + "dir": "Assets" + }, + { + "dir": "Config" + }, + { + "dir": "Gem" + }, + { + "dir": "Gem/Include" + }, + { + "dir": "Gem/Include/${Name}" + }, + { + "dir": "Gem/Platform" + }, + { + "dir": "Gem/Platform/Linux" + }, + { + "dir": "Gem/Platform/Mac" + }, + { + "dir": "Gem/Platform/Windows" + }, + { + "dir": "Gem/Registry" + }, + { + "dir": "Gem/Source" + }, + { + "dir": "Levels" + }, + { + "dir": "Levels/Warehouse" + }, + { + "dir": "Levels/playground" + }, + { + "dir": "Levels/playground/_savebackup" + }, + { + "dir": "Levels/playground/_savebackup/2023-02-21 [13.25.33]" + }, + { + "dir": "Passes" + }, + { + "dir": "Platform" + }, + { + "dir": "Platform/Android" + }, + { + "dir": "Platform/Linux" + }, + { + "dir": "Platform/Mac" + }, + { + "dir": "Platform/Windows" + }, + { + "dir": "Registry" + }, + { + "dir": "Resources" + }, + { + "dir": "Resources/Platform" + }, + { + "dir": "Resources/Platform/Mac" + }, + { + "dir": "Resources/Platform/Mac/Images.xcassets" + }, + { + "dir": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset" + }, + { + "dir": "ShaderLib" + }, + { + "dir": "Shaders" + }, + { + "dir": "Prefabs" + }, + { + "dir": "Shaders/ShaderResourceGroups" + }, + { + "dir": "cmake" + }, + { + "dir": "Examples" + }, + { + "dir": "Examples/ros2_ws" + }, + { + "dir": "Examples/ros2_ws/src" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/config" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/launch" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/maps" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/params" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/resource" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/rviz" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/test" + } + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2fleetrobottemplate-2.0.2-template.zip", + "sha256": "7ac04e30e179f36884424049c777502d08a6518f5d4306bc1834177a7927b770" + }, + { + "version": "2.0.3", + "copyFiles": [ + { + "file": ".gitignore", + "isTemplated": false + }, + { + "file": "CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Config/shader_global_build_options.json", + "isTemplated": false + }, + { + "file": "Gem/${Name}_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${Name}_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/${Name}Bus.h", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${Name}_linux_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${Name}_shared_linux_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/PAL_linux.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${Name}_mac_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${Name}_shared_mac_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/PAL_mac.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${Name}_shared_windows_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${Name}_windows_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/PAL_windows.cmake", + "isTemplated": true + }, + { + "file": "Gem/Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}Module.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/gem.json", + "isTemplated": true + }, + { + "file": "Levels/Warehouse/Warehouse.prefab", + "isTemplated": false + }, + { + "file": "Levels/playground/playground.prefab", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.cmake", + "isTemplated": true + }, + { + "file": "Platform/Linux/linux_project.json", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.cmake", + "isTemplated": true + }, + { + "file": "Platform/Mac/mac_project.json", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.cmake", + "isTemplated": true + }, + { + "file": "Platform/Windows/windows_project.json", + "isTemplated": false + }, + { + "file": "Registry/assetprocessor_settings.setreg", + "isTemplated": false + }, + { + "file": "Registry/awscoreconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdebugconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdefaultsceneconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxsystemconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/ros2.setreg", + "isTemplated": false + }, + { + "file": "Resources/GameSDK.ico", + "isTemplated": false + }, + { + "file": "Resources/LegacyLogoLauncher.bmp", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Info.plist", + "isTemplated": true + }, + { + "file": "ShaderLib/README.md", + "isTemplated": false + }, + { + "file": "ShaderLib/scenesrg.srgi", + "isTemplated": true + }, + { + "file": "ShaderLib/viewsrg.srgi", + "isTemplated": true + }, + { + "file": "Passes/ContrastAdaptiveSharpening.pass", + "isTemplated": false + }, + { + "file": "Passes/MainRenderPipeline.azasset", + "isTemplated": false + }, + { + "file": "Passes/PostProcessParent.pass", + "isTemplated": false + }, + { + "file": "Passes/SMAAConfiguration.azasset", + "isTemplated": false + }, + { + "file": "Passes/Taa.pass", + "isTemplated": false + }, + { + "file": "Prefabs/ProteusLaserScanner.prefab", + "isTemplated": false + }, + { + "file": "autoexec.cfg", + "isTemplated": false + }, + { + "file": "cmake/EngineFinder.cmake", + "isTemplated": false + }, + { + "file": "game.cfg", + "isTemplated": false + }, + { + "file": "preview.png", + "isTemplated": false + }, + { + "file": "project.json", + "isTemplated": true + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/maps/map_warehouse.pgm", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/resource/o3de_fleet_nav", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_multirobot_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/humble/nav2_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_multirobot_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/params/jazzy/nav2_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/package.xml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/NOTICE", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/config/fleet_config.yaml", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_rviz_launch.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_nav_launch.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/launch/o3de_fleet_nav_launch.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/__init__.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav/robot_spawner.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_pep257.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_flake8.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/test/test_copyright.py", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/setup.cfg", + "isTemplated": false + }, + { + "file": "Examples/ros2_ws/src/o3de_fleet_nav/rviz/nav2_namespaced_view.rviz", + "isTemplated": false + } + ], + "createDirectories": [ + { + "dir": "Assets" + }, + { + "dir": "Config" + }, + { + "dir": "Gem" + }, + { + "dir": "Gem/Include" + }, + { + "dir": "Gem/Include/${Name}" + }, + { + "dir": "Gem/Platform" + }, + { + "dir": "Gem/Platform/Linux" + }, + { + "dir": "Gem/Platform/Mac" + }, + { + "dir": "Gem/Platform/Windows" + }, + { + "dir": "Gem/Registry" + }, + { + "dir": "Gem/Source" + }, + { + "dir": "Levels" + }, + { + "dir": "Levels/Warehouse" + }, + { + "dir": "Levels/playground" + }, + { + "dir": "Levels/playground/_savebackup" + }, + { + "dir": "Levels/playground/_savebackup/2023-02-21 [13.25.33]" + }, + { + "dir": "Passes" + }, + { + "dir": "Platform" + }, + { + "dir": "Platform/Android" + }, + { + "dir": "Platform/Linux" + }, + { + "dir": "Platform/Mac" + }, + { + "dir": "Platform/Windows" + }, + { + "dir": "Registry" + }, + { + "dir": "Resources" + }, + { + "dir": "Resources/Platform" + }, + { + "dir": "Resources/Platform/Mac" + }, + { + "dir": "Resources/Platform/Mac/Images.xcassets" + }, + { + "dir": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset" + }, + { + "dir": "ShaderLib" + }, + { + "dir": "Shaders" + }, + { + "dir": "Prefabs" + }, + { + "dir": "Shaders/ShaderResourceGroups" + }, + { + "dir": "cmake" + }, + { + "dir": "Examples" + }, + { + "dir": "Examples/ros2_ws" + }, + { + "dir": "Examples/ros2_ws/src" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/config" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/launch" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/maps" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/o3de_fleet_nav" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/params" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/resource" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/rviz" + }, + { + "dir": "Examples/ros2_ws/src/o3de_fleet_nav/test" + } + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2fleetrobottemplate-2.0.3-template.zip", + "sha256": "1fdb529bb39cbe1248b3af2ef6531cf1e95b8aadaf6db6aace0a2e221da67fd4" + } + ] + }, + { + "template_name": "Ros2ProjectTemplate", + "version": "1.0.0", + "origin": "Open 3D Engine Extras", + "origin_url": "https://github.com/o3de/o3de-extras", + "license": "https://github.com/o3de/o3de-extras/tree/development/Templates/Ros2ProjectTemplate/Template/LICENSE.txt", + "display_name": "ROS2 Project", + "summary": "Template for ROS2 projects.", + "canonical_tags": [], + "user_tags": [ + "Ros2ProjectTemplate", + "ROS2", + "ROS" + ], + "icon_path": "preview.png", + "copyFiles": [ + { + "file": ".gitattributes", + "isTemplated": false + }, + { + "file": ".gitignore", + "isTemplated": false + }, + { + "file": "CMakeLists.txt", + "isTemplated": true + }, + { + "file": "cmake/EngineFinder.cmake", + "isTemplated": true + }, + { + "file": "Config/default_aws_resource_mappings.json", + "isTemplated": false + }, + { + "file": "Config/shader_global_build_options.json", + "isTemplated": false + }, + { + "file": "Gem/${NameLower}_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${NameLower}_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/${Name}Bus.h", + "isTemplated": true + }, + { + "file": "Gem/Platform/Android/${NameLower}_android_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Android/${NameLower}_shared_android_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Android/PAL_android.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${NameLower}_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/${NameLower}_shared_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/PAL_linux.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${NameLower}_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/${NameLower}_shared_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/PAL_mac.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${NameLower}_shared_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/${NameLower}_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/PAL_windows.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/iOS/${NameLower}_ios_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/iOS/${NameLower}_shared_ios_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/iOS/PAL_ios.cmake", + "isTemplated": true + }, + { + "file": "Gem/Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}Module.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/enabled_gems.cmake", + "isTemplated": true + }, + { + "file": "Gem/gem.json", + "isTemplated": true + }, + { + "file": "Levels/DemoLevel/DemoLevel.prefab", + "isTemplated": false + }, + { + "file": "Platform/Android/android_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Android/android_project.json", + "isTemplated": true + }, + { + "file": "Platform/Linux/linux_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.json", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.json", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.json", + "isTemplated": false + }, + { + "file": "Platform/iOS/ios_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/iOS/ios_project.json", + "isTemplated": false + }, + { + "file": "Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Registry/awscoreconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/editorpreferences.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxsystemconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/sceneassetimporter.setreg", + "isTemplated": false + }, + { + "file": "Resources/GameSDK.ico", + "isTemplated": false + }, + { + "file": "Resources/LegacyLogoLauncher.bmp", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Info.plist", + "isTemplated": true + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1024x768.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1536x2048.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage2048x1536.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage768x1024.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x1136.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x960.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon152x152.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon76x76.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadProAppIcon167x167.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon29x29.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon58x58.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon40x40.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon80x80.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon120x120.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon180x180.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon58x58.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon87x87.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon120x120.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon80x80.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Info.plist", + "isTemplated": true + }, + { + "file": "ShaderLib/README.md", + "isTemplated": false + }, + { + "file": "ShaderLib/scenesrg.srgi", + "isTemplated": true + }, + { + "file": "ShaderLib/viewsrg.srgi", + "isTemplated": true + }, + { + "file": "autoexec.cfg", + "isTemplated": false + }, + { + "file": "game.cfg", + "isTemplated": false + }, + { + "file": "preview.png", + "isTemplated": false + }, + { + "file": "project.json", + "isTemplated": true + }, + { + "file": "Examples/slam_navigation/launch/config/config.rviz", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/README.md", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/config/navigation_params_humble.yaml", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/config/navigation_params_jazzy.yaml", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/config/slam_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/navigation.launch.py", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/slam.launch.py", + "isTemplated": false + } + ], + "createDirectories": [ + { + "dir": "Assets" + }, + { + "dir": "Config" + }, + { + "dir": "Gem" + }, + { + "dir": "Gem/Include" + }, + { + "dir": "Gem/Include/${Name}" + }, + { + "dir": "Gem/Platform" + }, + { + "dir": "Gem/Platform/Android" + }, + { + "dir": "Gem/Platform/Linux" + }, + { + "dir": "Gem/Platform/Mac" + }, + { + "dir": "Gem/Platform/Windows" + }, + { + "dir": "Gem/Platform/iOS" + }, + { + "dir": "Gem/Registry" + }, + { + "dir": "Gem/Source" + }, + { + "dir": "Levels" + }, + { + "dir": "Levels/DemoLevel" + }, + { + "dir": "Platform" + }, + { + "dir": "Platform/Android" + }, + { + "dir": "Platform/Linux" + }, + { + "dir": "Platform/Mac" + }, + { + "dir": "Platform/Windows" + }, + { + "dir": "Platform/iOS" + }, + { + "dir": "Registry" + }, + { + "dir": "Resources" + }, + { + "dir": "Resources/Platform" + }, + { + "dir": "Resources/Platform/Mac" + }, + { + "dir": "Resources/Platform/Mac/Images.xcassets" + }, + { + "dir": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset" + }, + { + "dir": "Resources/Platform/iOS" + }, + { + "dir": "Resources/Platform/iOS/Images.xcassets" + }, + { + "dir": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset" + }, + { + "dir": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage" + }, + { + "dir": "ShaderLib" + }, + { + "dir": "cmake" + }, + { + "dir": "Examples" + }, + { + "dir": "Examples/slam_navigation" + }, + { + "dir": "Examples/slam_navigation/launch" + }, + { + "dir": "Examples/slam_navigation/launch/config" + } + ], + "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2projecttemplate-1.0.0-template.zip", + "sha256": "c7da8b04237c224e5377ae91625cf9a11e7b27479d9f6344c103905791a9b60f", + "versions_data": [ + { + "sha256": "62405080293d0be734398b3a338b2a9fce4dd50cba35d993f95d1d30e8e93e1b", + "version": "1.0.0", + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2projecttemplate-1.0.0-template.zip" + }, + { + "version": "1.1.0", + "copyFiles": [ + { + "file": ".clang-format", + "isTemplated": false + }, + { + "file": ".gitattributes", + "isTemplated": false + }, + { + "file": ".gitignore", + "isTemplated": false + }, + { + "file": "CMakeLists.txt", + "isTemplated": true + }, + { + "file": "cmake/EngineFinder.cmake", + "isTemplated": true + }, + { + "file": "Config/default_aws_resource_mappings.json", + "isTemplated": false + }, + { + "file": "Config/shader_global_build_options.json", + "isTemplated": false + }, + { + "file": "Gem/${NameLower}_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${NameLower}_editor_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${NameLower}_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${NameLower}_editor_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/${Name}Bus.h", + "isTemplated": true + }, + { + "file": "Gem/Platform/Android/${NameLower}_android_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Android/${NameLower}_shared_android_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Android/PAL_android.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${NameLower}_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/${NameLower}_shared_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/PAL_linux.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${NameLower}_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/${NameLower}_shared_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/PAL_mac.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${NameLower}_shared_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/${NameLower}_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/PAL_windows.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/iOS/${NameLower}_ios_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/iOS/${NameLower}_shared_ios_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/iOS/PAL_ios.cmake", + "isTemplated": true + }, + { + "file": "Gem/Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}Module.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}EditorModule.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}ModuleInterface.h", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}EditorSystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}EditorSystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SampleComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SampleComponent.h", + "isTemplated": true + }, + { + "file": "Gem/gem.json", + "isTemplated": true + }, + { + "file": "Levels/DemoLevel/DemoLevel.prefab", + "isTemplated": true + }, + { + "file": "Platform/Android/android_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Android/android_project.json", + "isTemplated": true + }, + { + "file": "Platform/Linux/linux_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.json", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.json", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.json", + "isTemplated": false + }, + { + "file": "Platform/iOS/ios_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/iOS/ios_project.json", + "isTemplated": false + }, + { + "file": "Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Registry/awscoreconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/editorpreferences.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxsystemconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/sceneassetimporter.setreg", + "isTemplated": false + }, + { + "file": "Resources/GameSDK.ico", + "isTemplated": false + }, + { + "file": "Resources/LegacyLogoLauncher.bmp", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Info.plist", + "isTemplated": true + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1024x768.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1536x2048.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage2048x1536.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage768x1024.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x1136.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x960.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon152x152.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon76x76.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadProAppIcon167x167.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon29x29.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon58x58.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon40x40.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon80x80.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon120x120.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon180x180.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon58x58.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon87x87.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon120x120.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon80x80.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Info.plist", + "isTemplated": true + }, + { + "file": "ShaderLib/README.md", + "isTemplated": false + }, + { + "file": "ShaderLib/scenesrg.srgi", + "isTemplated": true + }, + { + "file": "ShaderLib/viewsrg.srgi", + "isTemplated": true + }, + { + "file": "autoexec.cfg", + "isTemplated": false + }, + { + "file": "game.cfg", + "isTemplated": false + }, + { + "file": "preview.png", + "isTemplated": false + }, + { + "file": "project.json", + "isTemplated": true + }, + { + "file": "Examples/slam_navigation/launch/config/config.rviz", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/README.md", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/config/navigation_params_humble.yaml", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/config/navigation_params_jazzy.yaml", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/config/slam_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/navigation.launch.py", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/slam.launch.py", + "isTemplated": false + } + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2projecttemplate-1.1.0-template.zip" + }, + { + "version": "2.0.0", + "copyFiles": [ + { + "file": ".clang-format", + "isTemplated": false + }, + { + "file": ".gitattributes", + "isTemplated": false + }, + { + "file": ".gitignore", + "isTemplated": false + }, + { + "file": "CMakeLists.txt", + "isTemplated": true + }, + { + "file": "cmake/EngineFinder.cmake", + "isTemplated": true + }, + { + "file": "Config/default_aws_resource_mappings.json", + "isTemplated": false + }, + { + "file": "Config/shader_global_build_options.json", + "isTemplated": false + }, + { + "file": "Gem/${NameLower}_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${NameLower}_editor_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${NameLower}_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${NameLower}_editor_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/${Name}Bus.h", + "isTemplated": true + }, + { + "file": "Gem/Platform/Android/${NameLower}_android_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Android/${NameLower}_shared_android_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Android/PAL_android.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${NameLower}_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/${NameLower}_shared_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/PAL_linux.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${NameLower}_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/${NameLower}_shared_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/PAL_mac.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${NameLower}_shared_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/${NameLower}_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/PAL_windows.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/iOS/${NameLower}_ios_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/iOS/${NameLower}_shared_ios_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/iOS/PAL_ios.cmake", + "isTemplated": true + }, + { + "file": "Gem/Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}Module.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}EditorModule.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}ModuleInterface.h", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}EditorSystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}EditorSystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SampleComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SampleComponent.h", + "isTemplated": true + }, + { + "file": "Gem/gem.json", + "isTemplated": true + }, + { + "file": "Levels/DemoLevel/DemoLevel.prefab", + "isTemplated": true + }, + { + "file": "Platform/Android/android_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Android/android_project.json", + "isTemplated": true + }, + { + "file": "Platform/Linux/linux_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.json", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.json", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.json", + "isTemplated": false + }, + { + "file": "Platform/iOS/ios_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/iOS/ios_project.json", + "isTemplated": false + }, + { + "file": "Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Registry/awscoreconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/editorpreferences.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxsystemconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/sceneassetimporter.setreg", + "isTemplated": false + }, + { + "file": "Resources/GameSDK.ico", + "isTemplated": false + }, + { + "file": "Resources/LegacyLogoLauncher.bmp", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Info.plist", + "isTemplated": true + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1024x768.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1536x2048.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage2048x1536.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage768x1024.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x1136.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x960.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon152x152.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon76x76.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadProAppIcon167x167.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon29x29.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon58x58.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon40x40.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon80x80.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon120x120.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon180x180.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon58x58.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon87x87.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon120x120.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon80x80.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Info.plist", + "isTemplated": true + }, + { + "file": "ShaderLib/README.md", + "isTemplated": false + }, + { + "file": "ShaderLib/scenesrg.srgi", + "isTemplated": true + }, + { + "file": "ShaderLib/viewsrg.srgi", + "isTemplated": true + }, + { + "file": "autoexec.cfg", + "isTemplated": false + }, + { + "file": "game.cfg", + "isTemplated": false + }, + { + "file": "preview.png", + "isTemplated": false + }, + { + "file": "project.json", + "isTemplated": true + }, + { + "file": "Examples/slam_navigation/launch/config/config.rviz", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/README.md", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/config/navigation_params_humble.yaml", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/config/navigation_params_jazzy.yaml", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/config/slam_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/navigation.launch.py", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/slam.launch.py", + "isTemplated": false + } + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2projecttemplate-2.0.0-template.zip", + "sha256": "9d10edb8e3c51358ffcfc7a255af0db34981dafa3a37dd36ba68dda2c56e6866" + }, + { + "version": "2.0.1", + "copyFiles": [ + { + "file": ".clang-format", + "isTemplated": false + }, + { + "file": ".gitattributes", + "isTemplated": false + }, + { + "file": ".gitignore", + "isTemplated": false + }, + { + "file": "CMakeLists.txt", + "isTemplated": true + }, + { + "file": "cmake/EngineFinder.cmake", + "isTemplated": true + }, + { + "file": "Config/default_aws_resource_mappings.json", + "isTemplated": false + }, + { + "file": "Config/shader_global_build_options.json", + "isTemplated": false + }, + { + "file": "Gem/${NameLower}_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${NameLower}_editor_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${NameLower}_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${NameLower}_editor_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/${Name}Bus.h", + "isTemplated": true + }, + { + "file": "Gem/Platform/Android/${NameLower}_android_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Android/${NameLower}_shared_android_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Android/PAL_android.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${NameLower}_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/${NameLower}_shared_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/PAL_linux.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${NameLower}_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/${NameLower}_shared_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/PAL_mac.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${NameLower}_shared_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/${NameLower}_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/PAL_windows.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/iOS/${NameLower}_ios_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/iOS/${NameLower}_shared_ios_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/iOS/PAL_ios.cmake", + "isTemplated": true + }, + { + "file": "Gem/Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}Module.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}EditorModule.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}ModuleInterface.h", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}EditorSystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}EditorSystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SampleComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SampleComponent.h", + "isTemplated": true + }, + { + "file": "Gem/gem.json", + "isTemplated": true + }, + { + "file": "Levels/DemoLevel/DemoLevel.prefab", + "isTemplated": true + }, + { + "file": "Platform/Android/android_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Android/android_project.json", + "isTemplated": true + }, + { + "file": "Platform/Linux/linux_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.json", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.json", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.json", + "isTemplated": false + }, + { + "file": "Platform/iOS/ios_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/iOS/ios_project.json", + "isTemplated": false + }, + { + "file": "Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Registry/awscoreconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/editorpreferences.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxsystemconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/sceneassetimporter.setreg", + "isTemplated": false + }, + { + "file": "Registry/ros2.setreg", + "isTemplated": false + }, + { + "file": "Resources/GameSDK.ico", + "isTemplated": false + }, + { + "file": "Resources/LegacyLogoLauncher.bmp", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Info.plist", + "isTemplated": true + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1024x768.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1536x2048.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage2048x1536.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage768x1024.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x1136.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x960.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon152x152.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon76x76.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadProAppIcon167x167.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon29x29.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon58x58.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon40x40.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon80x80.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon120x120.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon180x180.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon58x58.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon87x87.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon120x120.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon80x80.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Info.plist", + "isTemplated": true + }, + { + "file": "ShaderLib/README.md", + "isTemplated": false + }, + { + "file": "ShaderLib/scenesrg.srgi", + "isTemplated": true + }, + { + "file": "ShaderLib/viewsrg.srgi", + "isTemplated": true + }, + { + "file": "autoexec.cfg", + "isTemplated": false + }, + { + "file": "game.cfg", + "isTemplated": false + }, + { + "file": "preview.png", + "isTemplated": false + }, + { + "file": "project.json", + "isTemplated": true + }, + { + "file": "Examples/slam_navigation/launch/config/config.rviz", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/README.md", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/config/navigation_params_humble.yaml", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/config/navigation_params_jazzy.yaml", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/config/slam_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/navigation.launch.py", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/slam.launch.py", + "isTemplated": false + } + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2projecttemplate-2.0.1-template.zip", + "sha256": "dd56a62e5fa1cd7d412962382845885170edcc1373c1af4b388331f073404c9d" + }, + { + "version": "2.0.2", + "copyFiles": [ + { + "file": ".clang-format", + "isTemplated": false + }, + { + "file": ".gitattributes", + "isTemplated": false + }, + { + "file": ".gitignore", + "isTemplated": false + }, + { + "file": "CMakeLists.txt", + "isTemplated": true + }, + { + "file": "cmake/EngineFinder.cmake", + "isTemplated": true + }, + { + "file": "Config/default_aws_resource_mappings.json", + "isTemplated": false + }, + { + "file": "Config/shader_global_build_options.json", + "isTemplated": false + }, + { + "file": "Gem/${NameLower}_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${NameLower}_editor_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${NameLower}_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${NameLower}_editor_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/${Name}Bus.h", + "isTemplated": true + }, + { + "file": "Gem/Platform/Android/${NameLower}_android_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Android/${NameLower}_shared_android_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Android/PAL_android.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${NameLower}_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/${NameLower}_shared_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/PAL_linux.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${NameLower}_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/${NameLower}_shared_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/PAL_mac.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${NameLower}_shared_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/${NameLower}_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/PAL_windows.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/iOS/${NameLower}_ios_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/iOS/${NameLower}_shared_ios_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/iOS/PAL_ios.cmake", + "isTemplated": true + }, + { + "file": "Gem/Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}Module.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}EditorModule.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}ModuleInterface.h", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}EditorSystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}EditorSystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SampleComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SampleComponent.h", + "isTemplated": true + }, + { + "file": "Gem/gem.json", + "isTemplated": true + }, + { + "file": "Levels/DemoLevel/DemoLevel.prefab", + "isTemplated": true + }, + { + "file": "Platform/Android/android_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Android/android_project.json", + "isTemplated": true + }, + { + "file": "Platform/Linux/linux_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.json", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.json", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.json", + "isTemplated": false + }, + { + "file": "Platform/iOS/ios_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/iOS/ios_project.json", + "isTemplated": false + }, + { + "file": "Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Registry/awscoreconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/editorpreferences.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxsystemconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/sceneassetimporter.setreg", + "isTemplated": false + }, + { + "file": "Registry/ros2.setreg", + "isTemplated": false + }, + { + "file": "Resources/GameSDK.ico", + "isTemplated": false + }, + { + "file": "Resources/LegacyLogoLauncher.bmp", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Info.plist", + "isTemplated": true + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1024x768.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1536x2048.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage2048x1536.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage768x1024.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x1136.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x960.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon152x152.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon76x76.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadProAppIcon167x167.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon29x29.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon58x58.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon40x40.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon80x80.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon120x120.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon180x180.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon58x58.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon87x87.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon120x120.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon80x80.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Info.plist", + "isTemplated": true + }, + { + "file": "ShaderLib/README.md", + "isTemplated": false + }, + { + "file": "ShaderLib/scenesrg.srgi", + "isTemplated": true + }, + { + "file": "ShaderLib/viewsrg.srgi", + "isTemplated": true + }, + { + "file": "autoexec.cfg", + "isTemplated": false + }, + { + "file": "game.cfg", + "isTemplated": false + }, + { + "file": "preview.png", + "isTemplated": false + }, + { + "file": "project.json", + "isTemplated": true + }, + { + "file": "Examples/slam_navigation/launch/config/config.rviz", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/README.md", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/config/navigation_params_humble.yaml", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/config/navigation_params_jazzy.yaml", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/config/slam_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/navigation.launch.py", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/slam.launch.py", + "isTemplated": false + } + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2projecttemplate-2.0.2-template.zip", + "sha256": "47192251cb1035ff041831e82f6062c8d3e6ed19f67a1b8dc34e46f8ce9dc8f0" + }, + { + "version": "2.0.3", + "copyFiles": [ + { + "file": ".clang-format", + "isTemplated": false + }, + { + "file": ".gitattributes", + "isTemplated": false + }, + { + "file": ".gitignore", + "isTemplated": false + }, + { + "file": "CMakeLists.txt", + "isTemplated": true + }, + { + "file": "cmake/EngineFinder.cmake", + "isTemplated": true + }, + { + "file": "Config/default_aws_resource_mappings.json", + "isTemplated": false + }, + { + "file": "Config/shader_global_build_options.json", + "isTemplated": false + }, + { + "file": "Gem/${NameLower}_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${NameLower}_editor_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${NameLower}_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${NameLower}_editor_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/${Name}Bus.h", + "isTemplated": true + }, + { + "file": "Gem/Platform/Android/${NameLower}_android_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Android/${NameLower}_shared_android_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Android/PAL_android.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${NameLower}_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/${NameLower}_shared_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/PAL_linux.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${NameLower}_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/${NameLower}_shared_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/PAL_mac.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${NameLower}_shared_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/${NameLower}_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/PAL_windows.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/iOS/${NameLower}_ios_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/iOS/${NameLower}_shared_ios_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/iOS/PAL_ios.cmake", + "isTemplated": true + }, + { + "file": "Gem/Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}Module.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}EditorModule.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}ModuleInterface.h", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}EditorSystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}EditorSystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SampleComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SampleComponent.h", + "isTemplated": true + }, + { + "file": "Gem/gem.json", + "isTemplated": true + }, + { + "file": "Levels/DemoLevel/DemoLevel.prefab", + "isTemplated": true + }, + { + "file": "Platform/Android/android_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Android/android_project.json", + "isTemplated": true + }, + { + "file": "Platform/Linux/linux_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.json", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.json", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.json", + "isTemplated": false + }, + { + "file": "Platform/iOS/ios_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/iOS/ios_project.json", + "isTemplated": false + }, + { + "file": "Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Registry/awscoreconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/editorpreferences.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxsystemconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/sceneassetimporter.setreg", + "isTemplated": false + }, + { + "file": "Registry/ros2.setreg", + "isTemplated": false + }, + { + "file": "Resources/GameSDK.ico", + "isTemplated": false + }, + { + "file": "Resources/LegacyLogoLauncher.bmp", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Info.plist", + "isTemplated": true + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1024x768.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage1536x2048.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage2048x1536.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPadLaunchImage768x1024.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x1136.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/LaunchImage.launchimage/iPhoneLaunchImage640x960.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon152x152.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadAppIcon76x76.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadProAppIcon167x167.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon29x29.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSettingsIcon58x58.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon40x40.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPadSpotlightIcon80x80.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon120x120.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneAppIcon180x180.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon58x58.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSettingsIcon87x87.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon120x120.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Images.xcassets/AppIcon.appiconset/iPhoneSpotlightIcon80x80.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/iOS/Info.plist", + "isTemplated": true + }, + { + "file": "ShaderLib/README.md", + "isTemplated": false + }, + { + "file": "ShaderLib/scenesrg.srgi", + "isTemplated": true + }, + { + "file": "ShaderLib/viewsrg.srgi", + "isTemplated": true + }, + { + "file": "game.cfg", + "isTemplated": false + }, + { + "file": "preview.png", + "isTemplated": false + }, + { + "file": "project.json", + "isTemplated": true + }, + { + "file": "Examples/slam_navigation/launch/config/config.rviz", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/README.md", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/config/navigation_params_humble.yaml", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/config/navigation_params_jazzy.yaml", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/config/slam_params.yaml", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/navigation.launch.py", + "isTemplated": false + }, + { + "file": "Examples/slam_navigation/launch/slam.launch.py", + "isTemplated": false + } + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2projecttemplate-2.0.3-template.zip", + "sha256": "8ac02c3c0341804653a5a41b300f0bf9edff33f75076b5853f91a45e10b3826a" + } + ] + }, + { + "template_name": "Ros2RoboticManipulationTemplate", + "version": "1.1.0", + "origin": "https://github.com/o3de/o3de-extras", + "license": "https://github.com/o3de/o3de-extras/tree/development/Templates/Ros2RoboticManipulationTemplate/Template/LICENSE.txt", + "display_name": "ROS2 Robotic Manipulation", + "summary": "A manipulation template for ROS2", + "canonical_tags": [], + "user_tags": [ + "Ros2RoboticManipulationTemplate", + "ROS2", + "Move it2", + "Robots" + ], + "icon_path": "preview.png", + "copyFiles": [ + { + "file": "CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Assets/Room/Room.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Desk_M_Desk.material", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Desk.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Ambient.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Height.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Base_color.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Normal.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Metallic.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Roughness.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Desk/Room_M_Desk_Normal.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Desk/Room_M_Desk_Base_color.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Desk/Room_M_Desk_Height.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Desk/Room_M_Desk_Roughness.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Desk/Room_M_Desk_Metallic.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Desk/Room_M_Desk_Ambient.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Walls/Room_M_Walls_Height.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Walls/Room_M_Walls_Normal.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Walls/Room_M_Walls_Ambient.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Walls/Room_M_Walls_Roughness.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Walls/Room_M_Walls_Base_color.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Walls/Room_M_Walls_Metallic.png", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/Box2.prefab", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/ConveyorBelt.fbx.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/ConveyorBelt_guards_segment.fbx.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/ConveyorBelt.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/conveyor_belt.physxmaterial", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/conveyor_guards.physxmaterial", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/ConveyorBelt_effector.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/ConveyorBelt_effector.fbx.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/ConveyorBelt_guards_segment.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/UR10_M_UR10.material", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/UR10.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/Textures/RoboticArm.json", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Roughness.M_UR10.png", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Metallic.M_UR10.png", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_BaseColor.M_UR10.png", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Emissive.M_UR10.png", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Height.M_UR10.png", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/hand_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link4_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link1.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/finger_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/hand.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link3_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link2_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link0.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link5_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link6_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link3_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link6.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link2.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link3.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link5.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link2_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/finger.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/finger_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link4.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/hand_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link2.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link7.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link7_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link1_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link0_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link6.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/hand.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/finger.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link4.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link1.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link6_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link1_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link3.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link7_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link5_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link5.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link4_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link0.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link0_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link7.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Gripper_collider.stl", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Gripper.dae", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Textures/Gripper-BaseColor.png", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Textures/Gripper-Specular.png", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Textures/Gripper-Roughness.png", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Textures/Gripper-Metallic.png", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Textures/Gripper-Normal.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/ToyBox.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/BoxTriangle.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/BoxCube.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/BoxTriangle.fbx.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/BoxCyllinder.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Glossiness.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Metallic.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Emissive.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Normal.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Height.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Roughness.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_BaseMap.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Specular.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/Roughness/MCube_pazzle_Roughness.1001.png", + "isTemplated": "false" + }, + { + "file": "Config/shader_global_build_options.json", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/Atom Default Environment_434B3A4E-7927-4EB4-B568-D0D75E72D270_ProbeData_lutrgba16f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/Atom Default Environment_691C813B-A7DA-435B-BE78-904F41AAECDD_Distance_lutrg32f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/Atom Default Environment_9DD87531-9B21-45AC-8169-4B6209456C02_Irradiance_lutrgba16f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/GI_4C638236-E6F7-413A-B1DF-26DA87A6CDC0_ProbeData_lutrgba16f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/GI_9A063636-4E64-4E87-8052-E1427ED3EC2C_Distance_lutrg32f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/GI_C092EE63-F1F9-43CC-93B5-19168F3EEADA_Irradiance_lutrgba16f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/Diffuse_Probe_Grid_1C06FE02-367E-4D6E-B8AE-9A48F2AF5F75_Irradiance_lutrgba16f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/Diffuse_Probe_Grid_4F50E1BF-2C8C-44EB-8183-34101107473C_Distance_lutrg32f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/Diffuse_Probe_Grid_ABC8A956-D89D-4CDB-829B-EF1DD8DE5404_ProbeData_lutrgba16f.dds", + "isTemplated": false + }, + { + "file": "Examples/panda_moveit_config_demo.launch.py", + "isTemplated": false + }, + { + "file": "Examples/panda_moveit_config_demo.rviz", + "isTemplated": false + }, + { + "file": "Gem/${Name}_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${Name}_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/${Name}Bus.h", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${Name}_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/${Name}_shared_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/PAL_linux.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${Name}_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/${Name}_shared_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/PAL_mac.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${Name}_shared_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/${Name}_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/PAL_windows.cmake", + "isTemplated": true + }, + { + "file": "Gem/Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}Module.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/gem.json", + "isTemplated": true + }, + { + "file": "Levels/RoboticPalletization/RoboticPalletization.prefab", + "isTemplated": false + }, + { + "file": "Levels/RoboticManipulation/RoboticManipulation.prefab", + "isTemplated": false + }, + { + "file": "Passes/ContrastAdaptiveSharpening.pass", + "isTemplated": false + }, + { + "file": "Passes/MainRenderPipeline.azasset", + "isTemplated": false + }, + { + "file": "Passes/PostProcessParent.pass", + "isTemplated": false + }, + { + "file": "Passes/SMAAConfiguration.azasset", + "isTemplated": false + }, + { + "file": "Passes/Taa.pass", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.json", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.json", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.json", + "isTemplated": false + }, + { + "file": "Prefabs/PandaRobot.prefab", + "isTemplated": false + }, + { + "file": "ReflectionProbes/Entity6__8035B0D1-451A-4226-A488-0C8E6949F6F5__iblspecularcm256.dds", + "isTemplated": false + }, + { + "file": "Registry/assetprocessor_settings.setreg", + "isTemplated": false + }, + { + "file": "Registry/awscoreconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdebugconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdefaultsceneconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxsystemconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/sceneassetimporter.setreg", + "isTemplated": false + }, + { + "file": "Resources/GameSDK.ico", + "isTemplated": false + }, + { + "file": "Resources/LegacyLogoLauncher.bmp", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Info.plist", + "isTemplated": true + }, + { + "file": "ShaderLib/README.md", + "isTemplated": false + }, + { + "file": "ShaderLib/scenesrg.srgi", + "isTemplated": false + }, + { + "file": "ShaderLib/viewsrg.srgi", + "isTemplated": false + }, + { + "file": "cmake/EngineFinder.cmake", + "isTemplated": false + }, + { + "file": "user/Registry/editorpreferences.setreg", + "isTemplated": false + }, + { + "file": "user/Registry/ViewBookmarks/robotic-arm_1671539006337141059.setreg", + "isTemplated": false + }, + { + "file": "user/Registry/ViewBookmarks/RoboticPalletization_1691268770764352914.setreg", + "isTemplated": false + }, + { + "file": "game.cfg", + "isTemplated": false + }, + { + "file": "preview.png", + "isTemplated": false + }, + { + "file": "project.json", + "isTemplated": true + } + ], + "createDirectories": [ + { + "dir": "Config" + }, + { + "dir": "DiffuseProbeGrids" + }, + { + "dir": "Examples" + }, + { + "dir": "Gem" + }, + { + "dir": "Gem/Include" + }, + { + "dir": "Gem/Include/${Name}" + }, + { + "dir": "Gem/Platform" + }, + { + "dir": "Gem/Platform/Linux" + }, + { + "dir": "Gem/Platform/Mac" + }, + { + "dir": "Gem/Platform/Windows" + }, + { + "dir": "Gem/Registry" + }, + { + "dir": "Gem/Source" + }, + { + "dir": "Levels" + }, + { + "dir": "Levels/RoboticPalletization" + }, + { + "dir": "Levels/RoboticManipulation" + }, + { + "dir": "Passes" + }, + { + "dir": "Platform" + }, + { + "dir": "Platform/Android" + }, + { + "dir": "Platform/Linux" + }, + { + "dir": "Platform/Mac" + }, + { + "dir": "Platform/Windows" + }, + { + "dir": "Prefabs" + }, + { + "dir": "ReflectionProbes" + }, + { + "dir": "Registry" + }, + { + "dir": "Resources" + }, + { + "dir": "Resources/Platform" + }, + { + "dir": "Resources/Platform/Mac" + }, + { + "dir": "Resources/Platform/Mac/Images.xcassets" + }, + { + "dir": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset" + }, + { + "dir": "ShaderLib" + }, + { + "dir": "Shaders" + }, + { + "dir": "user" + }, + { + "dir": "user/Registry" + }, + { + "dir": "user/Registry/ViewBookmarks" + }, + { + "dir": "Shaders/ShaderResourceGroups" + }, + { + "dir": "cmake" + } + ], + "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2roboticmanipulationtemplate-1.1.0-template.zip", + "sha256": "7efe89a56731ad2efda60eb302fc73ec9ddf4f1bbb89d9b3cd9a9e357e64d9d3", + "versions_data": [ + { + "version": "2.0.0", + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2roboticmanipulationtemplate-2.0.0-template.zip", + "sha256": "0534490ddee493b0744a76493c1551879fb803890ed123c786e1699c5ddd1e13" + }, + { + "version": "2.0.1", + "copyFiles": [ + { + "file": "CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Assets/Room/Room.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Desk_M_Desk.material", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Desk.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Ambient.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Height.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Base_color.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Normal.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Metallic.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Roughness.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Desk/Room_M_Desk_Normal.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Desk/Room_M_Desk_Base_color.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Desk/Room_M_Desk_Height.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Desk/Room_M_Desk_Roughness.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Desk/Room_M_Desk_Metallic.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Desk/Room_M_Desk_Ambient.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Walls/Room_M_Walls_Height.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Walls/Room_M_Walls_Normal.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Walls/Room_M_Walls_Ambient.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Walls/Room_M_Walls_Roughness.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Walls/Room_M_Walls_Base_color.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Walls/Room_M_Walls_Metallic.png", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/Box2.prefab", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/ConveyorBelt.fbx.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/ConveyorBelt_guards_segment.fbx.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/ConveyorBelt.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/conveyor_belt.physxmaterial", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/conveyor_guards.physxmaterial", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/ConveyorBelt_effector.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/ConveyorBelt_effector.fbx.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/ConveyorBelt_guards_segment.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/UR10_M_UR10.material", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/UR10.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/Textures/RoboticArm.json", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Roughness.M_UR10.png", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Metallic.M_UR10.png", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_BaseColor.M_UR10.png", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Emissive.M_UR10.png", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Height.M_UR10.png", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/hand_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link4_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link1.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/finger_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/hand.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link3_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link2_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link0.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link5_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link6_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link3_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link6.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link2.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link3.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link5.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link2_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/finger.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/finger_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link4.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/hand_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link2.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link7.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link7_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link1_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link0_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link6.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/hand.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/finger.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link4.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link1.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link6_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link1_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link3.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link7_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link5_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link5.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link4_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link0.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link0_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link7.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Gripper_collider.stl", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Gripper.dae", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Textures/Gripper-BaseColor.png", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Textures/Gripper-Specular.png", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Textures/Gripper-Roughness.png", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Textures/Gripper-Metallic.png", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Textures/Gripper-Normal.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/ToyBox.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/BoxTriangle.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/BoxCube.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/BoxTriangle.fbx.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/BoxCyllinder.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Glossiness.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Metallic.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Emissive.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Normal.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Height.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Roughness.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_BaseMap.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Specular.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/Roughness/MCube_pazzle_Roughness.1001.png", + "isTemplated": "false" + }, + { + "file": "Config/shader_global_build_options.json", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/Atom Default Environment_434B3A4E-7927-4EB4-B568-D0D75E72D270_ProbeData_lutrgba16f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/Atom Default Environment_691C813B-A7DA-435B-BE78-904F41AAECDD_Distance_lutrg32f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/Atom Default Environment_9DD87531-9B21-45AC-8169-4B6209456C02_Irradiance_lutrgba16f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/GI_4C638236-E6F7-413A-B1DF-26DA87A6CDC0_ProbeData_lutrgba16f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/GI_9A063636-4E64-4E87-8052-E1427ED3EC2C_Distance_lutrg32f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/GI_C092EE63-F1F9-43CC-93B5-19168F3EEADA_Irradiance_lutrgba16f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/Diffuse_Probe_Grid_1C06FE02-367E-4D6E-B8AE-9A48F2AF5F75_Irradiance_lutrgba16f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/Diffuse_Probe_Grid_4F50E1BF-2C8C-44EB-8183-34101107473C_Distance_lutrg32f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/Diffuse_Probe_Grid_ABC8A956-D89D-4CDB-829B-EF1DD8DE5404_ProbeData_lutrgba16f.dds", + "isTemplated": false + }, + { + "file": "Examples/panda_moveit_config_demo.launch.py", + "isTemplated": false + }, + { + "file": "Examples/panda_moveit_config_demo.rviz", + "isTemplated": false + }, + { + "file": "Gem/${Name}_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${Name}_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/${Name}Bus.h", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${Name}_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/${Name}_shared_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/PAL_linux.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${Name}_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/${Name}_shared_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/PAL_mac.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${Name}_shared_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/${Name}_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/PAL_windows.cmake", + "isTemplated": true + }, + { + "file": "Gem/Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}Module.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/gem.json", + "isTemplated": true + }, + { + "file": "Levels/RoboticPalletization/RoboticPalletization.prefab", + "isTemplated": false + }, + { + "file": "Levels/RoboticManipulation/RoboticManipulation.prefab", + "isTemplated": false + }, + { + "file": "Passes/ContrastAdaptiveSharpening.pass", + "isTemplated": false + }, + { + "file": "Passes/MainRenderPipeline.azasset", + "isTemplated": false + }, + { + "file": "Passes/PostProcessParent.pass", + "isTemplated": false + }, + { + "file": "Passes/SMAAConfiguration.azasset", + "isTemplated": false + }, + { + "file": "Passes/Taa.pass", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.json", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.json", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.json", + "isTemplated": false + }, + { + "file": "Prefabs/PandaRobot.prefab", + "isTemplated": false + }, + { + "file": "ReflectionProbes/Entity6__8035B0D1-451A-4226-A488-0C8E6949F6F5__iblspecularcm256.dds", + "isTemplated": false + }, + { + "file": "Registry/assetprocessor_settings.setreg", + "isTemplated": false + }, + { + "file": "Registry/awscoreconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdebugconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdefaultsceneconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxsystemconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/sceneassetimporter.setreg", + "isTemplated": false + }, + { + "file": "Registry/ros2.setreg", + "isTemplated": false + }, + { + "file": "Resources/GameSDK.ico", + "isTemplated": false + }, + { + "file": "Resources/LegacyLogoLauncher.bmp", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Info.plist", + "isTemplated": true + }, + { + "file": "ShaderLib/README.md", + "isTemplated": false + }, + { + "file": "ShaderLib/scenesrg.srgi", + "isTemplated": false + }, + { + "file": "ShaderLib/viewsrg.srgi", + "isTemplated": false + }, + { + "file": "cmake/EngineFinder.cmake", + "isTemplated": false + }, + { + "file": "user/Registry/editorpreferences.setreg", + "isTemplated": false + }, + { + "file": "user/Registry/ViewBookmarks/robotic-arm_1671539006337141059.setreg", + "isTemplated": false + }, + { + "file": "user/Registry/ViewBookmarks/RoboticPalletization_1691268770764352914.setreg", + "isTemplated": false + }, + { + "file": "game.cfg", + "isTemplated": false + }, + { + "file": "preview.png", + "isTemplated": false + }, + { + "file": "project.json", + "isTemplated": true + } + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2roboticmanipulationtemplate-2.0.1-template.zip", + "sha256": "a78b0915bbf915c3470c95da234e49a21e6b67236ff66560a6e7ddc942c5ecd1" + }, + { + "version": "2.0.2", + "copyFiles": [ + { + "file": "CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Assets/Room/Room.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Desk_M_Desk.material", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Desk.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Ambient.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Height.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Base_color.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Normal.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Metallic.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Floor/plane_divided_DefaultMaterial_Roughness.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Desk/Room_M_Desk_Normal.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Desk/Room_M_Desk_Base_color.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Desk/Room_M_Desk_Height.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Desk/Room_M_Desk_Roughness.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Desk/Room_M_Desk_Metallic.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Desk/Room_M_Desk_Ambient.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Walls/Room_M_Walls_Height.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Walls/Room_M_Walls_Normal.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Walls/Room_M_Walls_Ambient.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Walls/Room_M_Walls_Roughness.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Walls/Room_M_Walls_Base_color.png", + "isTemplated": "false" + }, + { + "file": "Assets/Room/Textures/Walls/Room_M_Walls_Metallic.png", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/Box2.prefab", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/ConveyorBelt.fbx.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/ConveyorBelt_guards_segment.fbx.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/ConveyorBelt.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/conveyor_belt.physxmaterial", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/conveyor_guards.physxmaterial", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/ConveyorBelt_effector.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/ConveyorBelt_effector.fbx.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/Factory/ConveyorLine/ConveyorBelt_guards_segment.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/UR10_M_UR10.material", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/UR10.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/Textures/RoboticArm.json", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Roughness.M_UR10.png", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Metallic.M_UR10.png", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_BaseColor.M_UR10.png", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Emissive.M_UR10.png", + "isTemplated": "false" + }, + { + "file": "Assets/UR10_pretty/Textures/UR10_Robotic_arm_Height.M_UR10.png", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/hand_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link4_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link1.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/finger_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/hand.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link3_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link2_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link0.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link5_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link6_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link3_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link6.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link2.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link3.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link5.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link2_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/finger.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/finger_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link4.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/hand_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link2.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link7.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link7_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link1_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link0_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link6.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/hand.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/finger.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link4.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link1.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link6_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link1_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link3.dae", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link7_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link5_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link5.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link4_c.stl", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link0.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link0_c.stl.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/UrdfImporter/1440394708_panda/link7.dae.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Gripper_collider.stl", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Gripper.dae", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Textures/Gripper-BaseColor.png", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Textures/Gripper-Specular.png", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Textures/Gripper-Roughness.png", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Textures/Gripper-Metallic.png", + "isTemplated": "false" + }, + { + "file": "Assets/Gripper/Textures/Gripper-Normal.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/ToyBox.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/BoxTriangle.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/BoxCube.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/BoxTriangle.fbx.assetinfo", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/BoxCyllinder.fbx", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Glossiness.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Metallic.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Emissive.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Normal.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Height.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Roughness.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_BaseMap.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/BoxToyPuzzle_MCube_pazzle_Specular.1001.png", + "isTemplated": "false" + }, + { + "file": "Assets/BoxToyPuzzle/texture/Roughness/MCube_pazzle_Roughness.1001.png", + "isTemplated": "false" + }, + { + "file": "Config/shader_global_build_options.json", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/Atom Default Environment_434B3A4E-7927-4EB4-B568-D0D75E72D270_ProbeData_lutrgba16f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/Atom Default Environment_691C813B-A7DA-435B-BE78-904F41AAECDD_Distance_lutrg32f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/Atom Default Environment_9DD87531-9B21-45AC-8169-4B6209456C02_Irradiance_lutrgba16f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/GI_4C638236-E6F7-413A-B1DF-26DA87A6CDC0_ProbeData_lutrgba16f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/GI_9A063636-4E64-4E87-8052-E1427ED3EC2C_Distance_lutrg32f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/GI_C092EE63-F1F9-43CC-93B5-19168F3EEADA_Irradiance_lutrgba16f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/Diffuse_Probe_Grid_1C06FE02-367E-4D6E-B8AE-9A48F2AF5F75_Irradiance_lutrgba16f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/Diffuse_Probe_Grid_4F50E1BF-2C8C-44EB-8183-34101107473C_Distance_lutrg32f.dds", + "isTemplated": false + }, + { + "file": "DiffuseProbeGrids/Diffuse_Probe_Grid_ABC8A956-D89D-4CDB-829B-EF1DD8DE5404_ProbeData_lutrgba16f.dds", + "isTemplated": false + }, + { + "file": "Examples/panda_moveit_config_demo.launch.py", + "isTemplated": false + }, + { + "file": "Examples/panda_moveit_config_demo.rviz", + "isTemplated": false + }, + { + "file": "Gem/${Name}_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/${Name}_shared_files.cmake", + "isTemplated": true + }, + { + "file": "Gem/CMakeLists.txt", + "isTemplated": true + }, + { + "file": "Gem/Include/${Name}/${Name}Bus.h", + "isTemplated": true + }, + { + "file": "Gem/Platform/Linux/${Name}_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/${Name}_shared_linux_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Linux/PAL_linux.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Mac/${Name}_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/${Name}_shared_mac_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Mac/PAL_mac.cmake", + "isTemplated": true + }, + { + "file": "Gem/Platform/Windows/${Name}_shared_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/${Name}_windows_files.cmake", + "isTemplated": false + }, + { + "file": "Gem/Platform/Windows/PAL_windows.cmake", + "isTemplated": true + }, + { + "file": "Gem/Registry/assetprocessor_settings.setreg", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}Module.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.cpp", + "isTemplated": true + }, + { + "file": "Gem/Source/${Name}SystemComponent.h", + "isTemplated": true + }, + { + "file": "Gem/gem.json", + "isTemplated": true + }, + { + "file": "Levels/RoboticPalletization/RoboticPalletization.prefab", + "isTemplated": false + }, + { + "file": "Levels/RoboticManipulation/RoboticManipulation.prefab", + "isTemplated": false + }, + { + "file": "Passes/ContrastAdaptiveSharpening.pass", + "isTemplated": false + }, + { + "file": "Passes/MainRenderPipeline.azasset", + "isTemplated": false + }, + { + "file": "Passes/PostProcessParent.pass", + "isTemplated": false + }, + { + "file": "Passes/SMAAConfiguration.azasset", + "isTemplated": false + }, + { + "file": "Passes/Taa.pass", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Linux/linux_project.json", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Mac/mac_project.json", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.cmake", + "isTemplated": false + }, + { + "file": "Platform/Windows/windows_project.json", + "isTemplated": false + }, + { + "file": "Prefabs/PandaRobot.prefab", + "isTemplated": false + }, + { + "file": "ReflectionProbes/Entity6__8035B0D1-451A-4226-A488-0C8E6949F6F5__iblspecularcm256.dds", + "isTemplated": false + }, + { + "file": "Registry/assetprocessor_settings.setreg", + "isTemplated": false + }, + { + "file": "Registry/awscoreconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdebugconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxdefaultsceneconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/physxsystemconfiguration.setreg", + "isTemplated": false + }, + { + "file": "Registry/sceneassetimporter.setreg", + "isTemplated": false + }, + { + "file": "Registry/ros2.setreg", + "isTemplated": false + }, + { + "file": "Resources/GameSDK.ico", + "isTemplated": false + }, + { + "file": "Resources/LegacyLogoLauncher.bmp", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Images.xcassets/Contents.json", + "isTemplated": false + }, + { + "file": "Resources/Platform/Mac/Info.plist", + "isTemplated": true + }, + { + "file": "ShaderLib/README.md", + "isTemplated": false + }, + { + "file": "ShaderLib/scenesrg.srgi", + "isTemplated": false + }, + { + "file": "ShaderLib/viewsrg.srgi", + "isTemplated": false + }, + { + "file": "cmake/EngineFinder.cmake", + "isTemplated": false + }, + { + "file": "user/Registry/editorpreferences.setreg", + "isTemplated": false + }, + { + "file": "user/Registry/ViewBookmarks/robotic-arm_1671539006337141059.setreg", + "isTemplated": false + }, + { + "file": "user/Registry/ViewBookmarks/RoboticPalletization_1691268770764352914.setreg", + "isTemplated": false + }, + { + "file": "game.cfg", + "isTemplated": false + }, + { + "file": "preview.png", + "isTemplated": false + }, + { + "file": "project.json", + "isTemplated": true + } + ], + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/ros2roboticmanipulationtemplate-2.0.2-template.zip", + "sha256": "718e6e95914fee3b84ba7bdabbba150672a624f3cc62c1671c1b40b9db5d9178" + } + ] + } + ], + "projects_data": [ + { + "project_name": "OpenXRTest", + "version": "1.0.0", + "project_id": "{947211d5-689a-437f-8ad7-7f558edcd40a}", + "repo_uri": "https://raw.githubusercontent.com/o3de/o3de-extras/development", + "origin": "https://github.com/o3de/o3de-extras", + "license": "For terms please see the LICENSE*.TXT files at the root of this distribution.", + "display_name": "OpenXRTest", + "summary": "A sample project that uses OpenXR.", + "canonical_tags": [ + "Project" + ], + "user_tags": [ + "OpenXRTest" + ], + "icon_path": "preview.png", + "engine": "o3de", + "external_subdirectories": [ + "Gem" + ], + "restricted": "OpenXRTest", + "gem_names": [ + "XR", + "OpenXRVk" + ], + "versions_data": [ + { + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/openxrtest-1.0.0-project.zip", + "gem_names": [ + "XR>=1.0.1", + "OpenXRVk>=1.0.1" + ], + "version": "1.0.0" + }, + { + "version": "1.0.1", + "download_source_uri": "https://github.com/o3de/o3de-extras/releases/download/2.0/openxrtest-1.0.1-project.zip", + "gem_names": [ + "XR>=1.0.1", + "OpenXRVk>=1.0.1" + ], + "sha256": "a08e465949826c204af2a9f32a15b616bf1b81c0cdfde62eb070558b7228312f" + } + ] + } + ] +} From 43dd3316695b2b062dfb5dac2096148da272b569 Mon Sep 17 00:00:00 2001 From: Artur Kamieniecki Date: Thu, 24 Apr 2025 09:56:44 +0200 Subject: [PATCH 13/16] Restore cmake Signed-off-by: Artur Kamieniecki --- Gems/ROS2Sensors/Code/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gems/ROS2Sensors/Code/CMakeLists.txt b/Gems/ROS2Sensors/Code/CMakeLists.txt index d94d61bab..18d25e060 100644 --- a/Gems/ROS2Sensors/Code/CMakeLists.txt +++ b/Gems/ROS2Sensors/Code/CMakeLists.txt @@ -221,7 +221,7 @@ endif() # See if globally, tests are supported if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) # We globally support tests, see if we support tests on this platform for ${gem_name}.Tests - if(PAL_TRAIT_TEST_GOOGLE_TEST_SUPPORTED) + if(PAL_TRAIT_ROS2SENSORS_TEST_SUPPORTED) # We support ${gem_name}.Tests on this platform, add dependency on the Private Object target ly_add_target( NAME ${gem_name}.Tests ${PAL_TRAIT_TEST_TARGET_TYPE} @@ -249,7 +249,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) # If we are a host platform we want to add tools test like editor tests here if(PAL_TRAIT_BUILD_HOST_TOOLS) # We are a host platform, see if Editor tests are supported on this platform - if(PAL_TRAIT_TEST_GOOGLE_TEST_SUPPORTED) + if(PAL_TRAIT_ROS2SENSORS_EDITOR_TEST_SUPPORTED) # We support ${gem_name}.Editor.Tests on this platform, add ${gem_name}.Editor.Tests target which depends on # private ${gem_name}.Editor.Private.Object target ly_add_target( From 3d8170a114eed2b32a3d755485183c2755323984 Mon Sep 17 00:00:00 2001 From: Artur Kamieniecki Date: Thu, 24 Apr 2025 15:15:04 +0200 Subject: [PATCH 14/16] Add ros2 interface for configuration Signed-off-by: Artur Kamieniecki --- .../Sensor/ROS2SensorComponentBase.h | 89 +++++++++++++++++++ .../ROS2Sensors/Sensor/SensorConfiguration.h | 3 + .../Camera/ROS2CameraSensorComponent.cpp | 4 +- .../Source/Camera/ROS2CameraSensorComponent.h | 4 +- .../ROS2ContactSensorComponent.cpp | 4 +- .../ROS2ContactSensorComponent.h | 4 +- .../Source/GNSS/ROS2GNSSSensorComponent.cpp | 4 +- .../Source/GNSS/ROS2GNSSSensorComponent.h | 4 +- .../Source/Imu/ROS2ImuSensorComponent.cpp | 4 +- .../Code/Source/Imu/ROS2ImuSensorComponent.h | 4 +- .../Lidar/ROS2Lidar2DSensorComponent.cpp | 4 +- .../Source/Lidar/ROS2Lidar2DSensorComponent.h | 4 +- .../Source/Lidar/ROS2LidarSensorComponent.cpp | 4 +- .../Source/Lidar/ROS2LidarSensorComponent.h | 4 +- .../Odometry/ROS2OdometrySensorComponent.cpp | 4 +- .../Odometry/ROS2OdometrySensorComponent.h | 4 +- .../Source/Odometry/ROS2WheelOdometry.cpp | 4 +- .../Code/Source/Odometry/ROS2WheelOdometry.h | 4 +- .../Source/Sensor/SensorConfiguration.cpp | 8 +- 19 files changed, 131 insertions(+), 33 deletions(-) diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h index 0d8a1b255..6d1b37bbb 100644 --- a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h @@ -8,6 +8,7 @@ #pragma once +#include "AzCore/Serialization/Json/JsonSerializationResult.h" #include #include #include @@ -17,6 +18,8 @@ #include #include #include +#include +#include namespace ROS2 { @@ -113,10 +116,32 @@ namespace ROS2 AZ::EntityComponentIdPair entityComponentIdPair(GetEntityId(), GetId()); SensorConfigurationRequestBus::Handler::BusConnect(entityComponentIdPair); ConfigurationBus::Handler::BusConnect(GetEntityId()); + + if (m_sensorConfiguration.m_configurableFromROS2) + { + AZStd::string ns = GetNamespace(); + AZStd::string configurationName = ComponentConfigurationT::TYPEINFO_Name(); + AZStd::string getTopic = ns + "/" + "Get" + configurationName; + AZStd::string setTopic = ns + "/" + "Set" + configurationName; + m_configurationPublisher = ROS2Interface::Get()->GetNode()->create_publisher( + getTopic.data(), rclcpp::QoS(1).transient_local()); + m_configurationSubscriber = ROS2Interface::Get()->GetNode()->create_subscription( + setTopic.data(), + rclcpp::QoS(1).reliable(), + [this](const std_msgs::msg::String::SharedPtr msg) + { + ProcessConfigurationMsg(msg->data); + }); + + PublishConfiguration(GetConfiguration()); + } } void Deactivate() override { + m_configurationPublisher.reset(); + m_configurationSubscriber.reset(); + ConfigurationBus::Handler::BusDisconnect(); SensorConfigurationRequestBus::Handler::BusDisconnect(); } @@ -126,6 +151,49 @@ namespace ROS2 return AZ::TypeId(ROS2Sensors::ROS2SensorComponentBaseTypeId); } + //! Returns the configuration of this sensor. + [[nodiscard]] const ComponentConfigurationT GetConfiguration() const + { + return GetComponentConfiguration(); + } + + void ProcessConfigurationMsg(AZStd::string msg) + { + rapidjson::Document document; + document.Parse(msg.c_str()); + if (document.HasParseError()) + { + AZ_Error("ROS2Sensors", false, "Failed to parse configuration message"); + return; + } + + AZ::JsonDeserializerSettings deserializerSettings; + + ComponentConfigurationT configuration = GetConfiguration(); + auto result = AZ::JsonSerialization::Load(configuration, document, deserializerSettings); + auto processing = result.GetProcessing(); + if (processing == AZ::JsonSerializationResult::Processing::Completed) + { + SetConfiguration(configuration); + } + else + { + AZ_Error("ROS2Sensors", false, "Failed to deserialize configuration message: %s", result.ToString("").c_str()); + } + } + + //! Sets the configuration of this sensor. + //! @param configuration Configuration to set. + void SetConfiguration(const ComponentConfigurationT configuration) override + { + SetComponentConfiguration(configuration); + + PublishConfiguration(configuration); + } + + virtual const ComponentConfigurationT GetComponentConfiguration() const = 0; + virtual void SetComponentConfiguration(const ComponentConfigurationT configuration) = 0; + protected: //! Starts sensor with passed frequency and adapted event callback. Optionally, user can pass source event callback, that will be //! called with event source frequency. @@ -184,6 +252,27 @@ namespace ROS2 //! Handler for adapted event. Requires manual assignment and connecting to adapted event in derived class. typename EventSourceT::AdaptedEventHandlerType m_adaptedEventHandler; + + rclcpp::Publisher::SharedPtr m_configurationPublisher; ///< Publisher for the sensor configuration. + rclcpp::Subscription::SharedPtr m_configurationSubscriber; ///< Subscriber for the sensor configuration. + + private: + void PublishConfiguration(const ComponentConfigurationT& configuration) + { + if (m_configurationPublisher != nullptr) + { + rapidjson::Document document(rapidjson::kObjectType); + AZ::JsonSerializerSettings serializerSettings; + serializerSettings.m_keepDefaults = true; + AZ::JsonSerialization::Store(document, document.GetAllocator(), configuration, serializerSettings); + rapidjson::StringBuffer buffer; + rapidjson::Writer writer(buffer); + document.Accept(writer); + std_msgs::msg::String msg; + msg.data = buffer.GetString(); + m_configurationPublisher->publish(msg); + } + } }; AZ_COMPONENT_IMPL_INLINE( diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/SensorConfiguration.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/SensorConfiguration.h index d807c47ef..724d2c0e7 100644 --- a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/SensorConfiguration.h +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/SensorConfiguration.h @@ -35,6 +35,9 @@ namespace ROS2 bool m_publishingEnabled = true; //!< Determines whether the sensor is publishing (sending data to ROS 2 ecosystem). bool m_visualize = true; //!< Determines whether the sensor is visualized in O3DE (for example, point cloud is drawn for LIDAR). + + bool m_configurableFromROS2 = + false; //!< Determines whether the sensor can be configured from ROS 2 (for example, camera resolution). private: // Frequency limit is once per day. static constexpr float m_minFrequency = AZStd::numeric_limits::epsilon(); diff --git a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.cpp index dbaa05107..939ad1f6c 100644 --- a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.cpp @@ -144,7 +144,7 @@ namespace ROS2 } } - void ROS2CameraSensorComponent::SetConfiguration(const CameraSensorConfiguration configuration) + void ROS2CameraSensorComponent::SetComponentConfiguration(const CameraSensorConfiguration configuration) { m_cameraConfiguration = configuration; m_cameraSensor.reset(); @@ -157,7 +157,7 @@ namespace ROS2 }); } - const CameraSensorConfiguration ROS2CameraSensorComponent::GetConfiguration() const + const CameraSensorConfiguration ROS2CameraSensorComponent::GetComponentConfiguration() const { return m_cameraConfiguration; } diff --git a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.h b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.h index 2a3903354..a7140629c 100644 --- a/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.h @@ -77,8 +77,8 @@ namespace ROS2 void SetCameraSensorConfiguration(); // ConfigurationBus overrides - void SetConfiguration(const CameraSensorConfiguration configuration) override; - const CameraSensorConfiguration GetConfiguration() const override; + void SetComponentConfiguration(const CameraSensorConfiguration configuration) override; + const CameraSensorConfiguration GetComponentConfiguration() const override; CameraSensorConfiguration m_cameraConfiguration; AZStd::string m_frameName; diff --git a/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.cpp index cc25d64ae..ef275fcce 100644 --- a/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.cpp @@ -210,12 +210,12 @@ namespace ROS2 } } - const ROS2ContactSensorConfiguration ROS2ContactSensorComponent::GetConfiguration() const + const ROS2ContactSensorConfiguration ROS2ContactSensorComponent::GetComponentConfiguration() const { return {}; } - void ROS2ContactSensorComponent::SetConfiguration([[maybe_unused]] const ROS2ContactSensorConfiguration configuration) + void ROS2ContactSensorComponent::SetComponentConfiguration([[maybe_unused]] const ROS2ContactSensorConfiguration configuration) { // No configuration parameters } diff --git a/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.h b/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.h index 2673a471b..a2710129d 100644 --- a/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/ContactSensor/ROS2ContactSensorComponent.h @@ -61,8 +61,8 @@ namespace ROS2 void AddNewContact(const AzPhysics::CollisionEvent& event); // Configuration Bus overrides - void SetConfiguration(const ROS2ContactSensorConfiguration configuration) override; - const ROS2ContactSensorConfiguration GetConfiguration() const override; + void SetComponentConfiguration(const ROS2ContactSensorConfiguration configuration) override; + const ROS2ContactSensorConfiguration GetComponentConfiguration() const override; AZ::EntityId m_entityId; AZStd::string m_entityName = ""; diff --git a/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.cpp index cdf5d6188..0080e61cf 100644 --- a/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.cpp @@ -122,11 +122,11 @@ namespace ROS2 m_gnssPublisher->publish(m_gnssMsg); } - void ROS2GNSSSensorComponent::SetConfiguration([[maybe_unused]] const ROS2GNSSSensorConfiguration configuration) + void ROS2GNSSSensorComponent::SetComponentConfiguration([[maybe_unused]] const ROS2GNSSSensorConfiguration configuration) { // This sensor does not have any configuration parameters. } - const ROS2GNSSSensorConfiguration ROS2GNSSSensorComponent::GetConfiguration() const + const ROS2GNSSSensorConfiguration ROS2GNSSSensorComponent::GetComponentConfiguration() const { // This sensor does not have any configuration parameters. return {}; diff --git a/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.h b/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.h index dd84fa48d..c266cdafd 100644 --- a/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/GNSS/ROS2GNSSSensorComponent.h @@ -58,8 +58,8 @@ namespace ROS2 [[nodiscard]] AZ::Transform GetCurrentPose() const; // Configuration Bus overrides - void SetConfiguration(const ROS2GNSSSensorConfiguration configuration) override; - const ROS2GNSSSensorConfiguration GetConfiguration() const override; + void SetComponentConfiguration(const ROS2GNSSSensorConfiguration configuration) override; + const ROS2GNSSSensorConfiguration GetComponentConfiguration() const override; std::shared_ptr> m_gnssPublisher; sensor_msgs::msg::NavSatFix m_gnssMsg; diff --git a/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp index 1d29793df..bee005581 100644 --- a/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.cpp @@ -208,12 +208,12 @@ namespace ROS2 m_orientationCovariance = ToDiagonalCovarianceMatrix(m_imuConfiguration.m_orientationVariance); } - const ImuSensorConfiguration ROS2ImuSensorComponent::GetConfiguration() const + const ImuSensorConfiguration ROS2ImuSensorComponent::GetComponentConfiguration() const { return m_imuConfiguration; } - void ROS2ImuSensorComponent::SetConfiguration(const ImuSensorConfiguration configuration) + void ROS2ImuSensorComponent::SetComponentConfiguration(const ImuSensorConfiguration configuration) { m_imuConfiguration = configuration; ConfigureSensor(); diff --git a/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.h b/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.h index 3aba1468f..8f8c3b141 100644 --- a/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Imu/ROS2ImuSensorComponent.h @@ -65,8 +65,8 @@ namespace ROS2 void ConfigureSensor(); // Configuration Bus - void SetConfiguration(const ImuSensorConfiguration configuration) override; - const ImuSensorConfiguration GetConfiguration() const override; + void SetComponentConfiguration(const ImuSensorConfiguration configuration) override; + const ImuSensorConfiguration GetComponentConfiguration() const override; // Handle to the simulated physical body AzPhysics::SimulatedBodyHandle m_bodyHandle = AzPhysics::InvalidSimulatedBodyHandle; diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.cpp index 7fc57d1f2..8f5810b6a 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.cpp @@ -145,12 +145,12 @@ namespace ROS2 m_laserScanPublisher->publish(message); } - const LidarSensorConfiguration ROS2Lidar2DSensorComponent::GetConfiguration() const + const LidarSensorConfiguration ROS2Lidar2DSensorComponent::GetComponentConfiguration() const { return m_lidarCore.m_lidarConfiguration; } - void ROS2Lidar2DSensorComponent::SetConfiguration(const LidarSensorConfiguration configuration) + void ROS2Lidar2DSensorComponent::SetComponentConfiguration(const LidarSensorConfiguration configuration) { m_lidarCore.Deinit(); m_lidarCore.UpdateConfig(configuration); diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.h b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.h index 086d9109f..707459fe8 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2Lidar2DSensorComponent.h @@ -47,8 +47,8 @@ namespace ROS2 void PublishRaycastResults(const RaycastResults& results); // ConfigurationBus overrides - const LidarSensorConfiguration GetConfiguration() const override; - void SetConfiguration(const LidarSensorConfiguration configuration) override; + const LidarSensorConfiguration GetComponentConfiguration() const override; + void SetComponentConfiguration(const LidarSensorConfiguration configuration) override; std::shared_ptr> m_laserScanPublisher; diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.cpp index e2c2e94ae..b4cae8d05 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.cpp @@ -286,14 +286,14 @@ namespace ROS2 } } - void ROS2LidarSensorComponent::SetConfiguration(const LidarSensorConfiguration configuration) + void ROS2LidarSensorComponent::SetComponentConfiguration(const LidarSensorConfiguration configuration) { m_lidarCore.Deinit(); m_lidarCore.UpdateConfig(configuration); m_lidarCore.Init(GetEntityId()); } - const LidarSensorConfiguration ROS2LidarSensorComponent::GetConfiguration() const + const LidarSensorConfiguration ROS2LidarSensorComponent::GetComponentConfiguration() const { return m_lidarCore.m_lidarConfiguration; } diff --git a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.h b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.h index 448e83523..9bde136e3 100644 --- a/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Lidar/ROS2LidarSensorComponent.h @@ -48,8 +48,8 @@ namespace ROS2 void PublishRaycastResults(const RaycastResults& results); // ConfigurationBus overrides - const LidarSensorConfiguration GetConfiguration() const override; - void SetConfiguration(const LidarSensorConfiguration configuration) override; + const LidarSensorConfiguration GetComponentConfiguration() const override; + void SetComponentConfiguration(const LidarSensorConfiguration configuration) override; bool m_canRaycasterPublish = false; std::shared_ptr> m_pointCloudPublisher; diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.cpp b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.cpp index 153080e65..e1e1ca86b 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.cpp +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.cpp @@ -143,13 +143,13 @@ namespace ROS2 ROS2SensorComponentBase::Deactivate(); } - const ROS2OdometrySensorConfiguration ROS2OdometrySensorComponent::GetConfiguration() const + const ROS2OdometrySensorConfiguration ROS2OdometrySensorComponent::GetComponentConfiguration() const { // This sensor does not have any configuration parameters. return {}; } - void ROS2OdometrySensorComponent::SetConfiguration([[maybe_unused]] ROS2OdometrySensorConfiguration configuration) + void ROS2OdometrySensorComponent::SetComponentConfiguration([[maybe_unused]] ROS2OdometrySensorConfiguration configuration) { // This sensor does not have any configuration parameters. } diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.h b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.h index ec6595a78..89196e073 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.h +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2OdometrySensorComponent.h @@ -50,8 +50,8 @@ namespace ROS2 private: // ConfigurationBus overrides - const ROS2OdometrySensorConfiguration GetConfiguration() const override; - void SetConfiguration(const ROS2OdometrySensorConfiguration configuration) override; + const ROS2OdometrySensorConfiguration GetComponentConfiguration() const override; + void SetComponentConfiguration(const ROS2OdometrySensorConfiguration configuration) override; AzPhysics::SimulatedBodyHandle m_bodyHandle = AzPhysics::InvalidSimulatedBodyHandle; std::shared_ptr> m_odometryPublisher; diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp index 08c037a9c..0236e1aaa 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.cpp @@ -216,12 +216,12 @@ namespace ROS2 ROS2SensorComponentBase::Deactivate(); } - const ROS2WheelOdometryConfiguration ROS2WheelOdometryComponent::GetConfiguration() const + const ROS2WheelOdometryConfiguration ROS2WheelOdometryComponent::GetComponentConfiguration() const { return m_odometryConfiguration; } - void ROS2WheelOdometryComponent::SetConfiguration(const ROS2WheelOdometryConfiguration configuration) + void ROS2WheelOdometryComponent::SetComponentConfiguration(const ROS2WheelOdometryConfiguration configuration) { m_odometryConfiguration = configuration; } diff --git a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h index 2d93ef9bb..6cb9a2a30 100644 --- a/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h +++ b/Gems/ROS2Sensors/Code/Source/Odometry/ROS2WheelOdometry.h @@ -51,8 +51,8 @@ namespace ROS2 private: // ConfigurationBus overrides - const ROS2WheelOdometryConfiguration GetConfiguration() const override; - void SetConfiguration(const ROS2WheelOdometryConfiguration configuration) override; + const ROS2WheelOdometryConfiguration GetComponentConfiguration() const override; + void SetComponentConfiguration(const ROS2WheelOdometryConfiguration configuration) override; std::shared_ptr> m_odometryPublisher; nav_msgs::msg::Odometry m_odometryMsg; diff --git a/Gems/ROS2Sensors/Code/Source/Sensor/SensorConfiguration.cpp b/Gems/ROS2Sensors/Code/Source/Sensor/SensorConfiguration.cpp index 61a9be998..92cdfd657 100644 --- a/Gems/ROS2Sensors/Code/Source/Sensor/SensorConfiguration.cpp +++ b/Gems/ROS2Sensors/Code/Source/Sensor/SensorConfiguration.cpp @@ -23,7 +23,8 @@ namespace ROS2 ->Field("Visualize", &SensorConfiguration::m_visualize) ->Field("Publishing Enabled", &SensorConfiguration::m_publishingEnabled) ->Field("Frequency (HZ)", &SensorConfiguration::m_frequency) - ->Field("Publishers", &SensorConfiguration::m_publishersConfigurations); + ->Field("Publishers", &SensorConfiguration::m_publishersConfigurations) + ->Field("Configurable from ROS2", &SensorConfiguration::m_configurableFromROS2); if (AZ::EditContext* ec = serializeContext->GetEditContext()) { @@ -35,6 +36,11 @@ namespace ROS2 &SensorConfiguration::m_publishingEnabled, "Publishing Enabled", "Toggle publishing for topic") + ->DataElement( + AZ::Edit::UIHandlers::Default, + &SensorConfiguration::m_configurableFromROS2, + "Configurable from ROS2", + "Enables JSON configuration from ROS2") ->DataElement( AZ::Edit::UIHandlers::Default, &SensorConfiguration::m_frequency, "Frequency", "Frequency of publishing [Hz]") ->Attribute(AZ::Edit::Attributes::Min, SensorConfiguration::m_minFrequency) From 1cdb174385558e87a645b6fc50c8ae9b70fcdf0d Mon Sep 17 00:00:00 2001 From: Artur Kamieniecki Date: Thu, 24 Apr 2025 15:21:11 +0200 Subject: [PATCH 15/16] Minor improvements Signed-off-by: Artur Kamieniecki --- .../Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h index 6d1b37bbb..a61e32f1f 100644 --- a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h @@ -8,9 +8,9 @@ #pragma once -#include "AzCore/Serialization/Json/JsonSerializationResult.h" #include #include +#include #include #include #include @@ -151,8 +151,7 @@ namespace ROS2 return AZ::TypeId(ROS2Sensors::ROS2SensorComponentBaseTypeId); } - //! Returns the configuration of this sensor. - [[nodiscard]] const ComponentConfigurationT GetConfiguration() const + const ComponentConfigurationT GetConfiguration() const override { return GetComponentConfiguration(); } @@ -182,8 +181,6 @@ namespace ROS2 } } - //! Sets the configuration of this sensor. - //! @param configuration Configuration to set. void SetConfiguration(const ComponentConfigurationT configuration) override { SetComponentConfiguration(configuration); From 46c27266c0e6e44679434388245094c48f1aba1a Mon Sep 17 00:00:00 2001 From: Artur Kamieniecki Date: Thu, 24 Apr 2025 15:31:32 +0200 Subject: [PATCH 16/16] Minor bug fix, bad cast Signed-off-by: Artur Kamieniecki --- .../Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h index a61e32f1f..cc2a45ad8 100644 --- a/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h +++ b/Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h @@ -130,7 +130,7 @@ namespace ROS2 rclcpp::QoS(1).reliable(), [this](const std_msgs::msg::String::SharedPtr msg) { - ProcessConfigurationMsg(msg->data); + ProcessConfigurationMsg(AZStd::string(msg->data.c_str())); }); PublishConfiguration(GetConfiguration());