Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

O3DE 2310 Feature List #252

Closed
Ulrick28 opened this issue Sep 26, 2023 · 8 comments
Closed

O3DE 2310 Feature List #252

Ulrick28 opened this issue Sep 26, 2023 · 8 comments

Comments

@Ulrick28
Copy link
Contributor

Ulrick28 commented Sep 26, 2023

O3DE 23.10 Feature List

Status: Complete

The Open 3D Engine (O3DE) 23.10 release brings a wealth of new workflow enhancements to improve the authoring experience, including industry-first automations. In addition to core engine usability and performance boosts, this newest release introduces an updated ROS2 Gem, which provides the deepest integration with the Robot Operating System (ROS2) in the industry and loads of new features for robotics simulation developers, including state-of-the-art drivers, algorithms, utilities and tooling.

Highlights

Here are some highlights of O3DE 23.10, followed by a detailed list of features broken down by Special Interest Group (SIG).

  1. Enhanced Authoring Experience: Addition of compact nodes to Script Canvas, which handle simple operations and utilize less visual space, making for a more compact and easier-to-debug graph.

  2. New Document Property Editor (DPE): This new (experimental) Document Property Editor (DPE) framework allows tool creators to write editors without having to dive into the complexities inherent in Qt-based UI, element sorting, or user-driven filtering. It enables developers to specify the layout, editing behavior, and general properties of a user interface in an XML-like "document," which the DocumentPropertyEditor widget interprets to create the desired user experience. O3DE's Console Variables editor is the first tool to be written using the DPE framework, with experimental support for a DPE-based Entity Inspector debuting in this release, capable of visualizing prefab overrides. The framework is default disabled; learn how to enable it here.

  3. New Prefab Overrides: Added support for prefab overrides (experimental) in the new Document Property Editor (DPE) inspector. Prefab overrides are now visible as blue dots in the inspector. Users can see and manipulate overrides on entities at property and component levels. Default disabled, requires DPE to be enabled; learn how to enable it here.

  4. Installation and Gem Improvements: Automation to create remote object repos (gems, templates, and projects), making it easier than ever for users to access other users' content in O3DE. Linux Snap packages for both Ubuntu 20.04 and 22.04 support, making it easier to install an already compiled version of O3DE on Linux. Many fixes to the installation and setup experience for Linux when utilizing Debian, Snap, or GitHub installation.

  5. Improved Export Capabilities: Ability to export projects created with O3DE for Windows, Linux, Linux Server, and iOS, making it easier to distribute apps privately and publicly. Android project exporting coming soon. See the documentation.

  6. Rendering Enhancements: Many visual and performance improvements to Atom, O3DE’s graphics and rendering system, including the start of mobile support for iOS/Android.

  7. Enhanced Robotics Features: Substantial improvements to robotic Project Templates. Manipulation template has been added to enable quick start with robotic arms. Templates now also include mini-tutorials that help to guide users through running them with Robot Operating System 2 (ROS 2) packages. Robotic manipulation components have been redesigned for modularity. Added support for prismatic joints. Camera sensor component has improved performance, configurability, and supports adding of noise. Two grippers are now available, finger gripper and vacuum gripper. Added Contact sensor component.

Features and bug fixes

sig-build

sig-content

sig-core

sig-graphics-audio

  • Large impact

    • Hybrid SSR-RayTraced Reflections - Added a raytracing pass for high quality hit detection and fallback data for the SSR pass.
    • Vulkan Memory Allocator support - Add VMA library for managing all GPU memory allocations on RHI_Vulkan. This means that that all memory allocations (buffers, images, transient and streaming images) now goes through VMA.
    • Mesh instancing work - This involved creating a new MeshInstanceManager for managing draw packets, adding support for instanced object transforms in shaders, adding support for VisibleObjectLists in the RPI Culling and enabling instanced draw calls in the MeshFeatureProcessor
    • Half float support to the shader pipeline to help with performance on mobile hardware
    • DX12MA support - Enables O3DE to use AMD's D3D12MemoryAllocation library as a replacement for our page sub-allocators for buffer pools.
    • Add support to allow directional cascades to avoid rendering objects that are completely covered in a smaller cascade
    • Support to get screenshot comparison testing for Atom working through the pytest framework.
    • Parts of the Initial framework for multi-gpu work for core RHI backend.
  • Medium impact

    • Expanded Bindless support to be data driven amongst other things
    • Emplicit render resolution support for render pipeline which renders to a swapchain.
    • Shadow cascade pass optimization by rejecting more meshes based on frustum intersection between light and camera.
    • Add support to use the PipelineViewTag of a parent pass in the pipeline hierarchy
    • Refactor shading rate image initialization for OpenXr
    • Shader pipeline Optimizations made to the pipeline such that whenever the original *.shadervariantlist file changes, let's say because the user added a new variant, or because the user modified an existing variant, only the new/updated variant will be rebuilt.
    • Shader Management Console - Add support to List all materials which use the selected option as well as added the functionality to process user-provided system option setting files, extension ".systemoptions", live in the same path as the ",shader" file.
    • Volume Texture Support for AttachmentReadback
    • Added Volume(3D) Texture support to StreamingImage
    • Added support for initial visible geometry bus with mesh component controller bindings
    • Adds suport to setup tags on models and textures, which can then be queried and are used here to control min LOD
    • Added Bilateral Filtering to the SSR roughness blur.
    • Added Downsampled Linear Depth passes.
    • Added support for callable shaders to the RayTracing PipelineState and ShaderTable.
    • Several optimizations and improvements for transparency handling in the DiffuseProbeGrid.
  • Low impact

    • Add support for indirect ray tracing to Dx12 and Vulkan RHI backend
    • Add OnObjectSrgCreated event
    • For terrain use ray traced geometry that should exactly match the geometry in the forward pass
    • MeshMotionVector pass optimization to only render moved or always dynamic meshes to MeshMotionVector pass.
    • Enable the RHI to dump a data file containing the current state of gpu memory allocations in response to asserts & other events.
    • Allow to unregister a View from a pipeline
    • Add API to enumerate RHI factories
    • Add ShadingRate 4x1 and 1x4 support for variable rate shading
    • Add support to consider emissive intensity unit for raytracing materials
    • Add support for the user to switch render pipelines at runtime via Editor and GameLauncher viewport.
    • Refactor Vulkan validation layer loading
    • Add support for multiple shaders in one source file which is applicable to Dx12 RayTracing
    • Add better suport for calculating size of attachments within passes
    • Add support for handling app suspend/resume for Android
    • Add callback when RHI system has been initialized
    • Add progress bar for ddgi bake textures
  • Bug fixes

    • Various fixes for cached shadows.
    • Fix material editor/canvas viewport settings inspector data corruption
    • Fix various Vulkan validation errors across multiple pipelines and multiple features.
    • Various fixes related to MSAA
    • Fixing terrain mesh manager cleanup
    • Fix light accumulation in SSR raytraced fallback
    • Fix window resize related crashes on Vulkan
    • Atom Tools: Prevent asset selection widgets from displaying non existent assets
    • Atom Tools: Change file enumeration to add logging and use extension checks instead of wild cards
    • Atom Tools: Change cmake configuration files to create applications instead of executable
    • Fix "Device Lost" error when creating a UI Canvas with a texture larger than the window size.
    • Fix various vulkan crashes for Intel GPUs
    • Remove DX12 descriptor heap compaction as well as disable descriptor allocation if unbounded arrays are not supported
    • Fix the first-time Editor crash bugs
    • Fix issues with Vulkan instance creation if it failed due to a layer or an extension not being present.
    • Fixed indirect indexed draw for DX12
    • Add support to normalize the direction of simple spot lights on the CPU
    • Added AZ Event to notify Directional Light component config changes
    • Fix various issues related to iOS build to be able to run ASV samples on Iphone 8
    • Fix various rendering issue with high DPI
    • Added suport to not crash if a framegraph attachment is unused
    • Improve error-messages for Pass::ProcessConnection
    • Fix a diffuse probe grid issue when frame update count > 1

sig-network

  • Features:

    • Added sv_versionMismatch_check_enabled, allows disabling the server side checking the versions of network components for debugging purposes.
    • Added multi-threaded connection updates on the server to client updates allowing for higher performance. This is turned off by default but can be enabled with sv_multithreadedConnectionUpdates.
  • Bug fixes:

    • Fixed an incorrect state on clients when an entity is destroyed.
    • Fixed a crash in NetBindComponent in certain scenarios.
    • Small logging improvements.
    • Fixed code generator for Authority->Server network properties for certain configurations.

sig-platform

sig-simulation

Robotics gems (o3de/o3de-extras):
Over 100 PRs merged in total for 23.10.

Known issues

@tkothadev
Copy link

tkothadev commented Sep 26, 2023

For Project export, here is the documentation link to include for the feature list:
https://development--o3deorg.netlify.app/docs/user-guide/packaging/project-export/

This may need to be updated once docs changes are pulled into main.

@SelfishOlex
Copy link

For SIG-Network for 23.10 release:

Features:

  • Added sv_versionMismatch_check_enabled, allows disabling the server side checking the versions of network components for debugging purposes.
  • Added multi-threaded connection updates on the server to client updates allowing for higher performance. This is turned off by default but can be enabled with sv_multithreadedConnectionUpdates.

Bugs:

  • Fixed an incorrect state on clients when an entity is destroyed.
  • Fixed a crash in NetBindComponent in certain scenarios.
  • Small logging improvements.
  • Fixed code generator for Authority->Server network properties for certain configurations.

@lemonade-dm
Copy link
Contributor

lemonade-dm commented Sep 27, 2023

The feature list and release notes for SIG-Core in the 23.10 releases are as follows.

Features

Bug fixes

@adamdbrw
Copy link

adamdbrw commented Sep 29, 2023

sig-simulation updates

Robotics gems (o3de/o3de-extras):
Over 100 PRs merged in total for 23.10.
Summary of changes:

  • Substantial improvements to robotic Project Templates. Manipulation template has been added to enable quick start with robotic arms. Templates now also include mini-tutorials that help to guide users through running them with Robot Operating System 2 (ROS 2) packages, for example Fleet navigation ROS 2 package and assets o3de-extras#450.
  • Robotic manipulation components have been redesigned for modularity, have plenty of extra features such as state, error and feedback publishing, and better handling overall for the FollowJointTrajectory action server. Any joint system can be simulated now, and components work with articulations as well as classic joints. These manipulation components now support prismatic joints as well.
  • Two grippers are now available, finger gripper and vacuum gripper. They can be controlled through ROS action server.
  • Robot Import feature was significantly improved and expanded to include a degree of support for SDFormat along with URDF. Plugins are now handled during the import and converted to O3DE components such as sensors and robot control.
  • Camera sensor component has improved performance, configurability, and supports adding of noise.
  • Lidar sensor simulation is more modular now, enabling easier change of data acquisition methods (implementations) and sensor models. For example, point clouds can be optionally published in the raycaster to save extra copy, which is used in the RGL Gem.
  • Contact sensor component has been added (a new sensor).
  • Update of the sensor system abstraction, including support for high-frequency data acquisition through simulation events. It is now easier for developers to add a new kind of sensor.
  • Better implementations for Inertial Measurement Unit and Wheel Odometry sensors.
  • Warehouse Automation Gem, a new Gem including assets and components for elements such as conveyor belt, proximity sensor, pallets, etc.
  • Numerous bug fixes, improvements to UX and developer interfaces such as component buses for ROS 2 Gem components.

Detailed list:
Fixes (excluding less interesting ones such as fixes for compilation or recently introduced feature):

Enhancements:

New Features:


Engine (o3de/o3de)

@amzn-changml
Copy link
Contributor

amzn-changml commented Oct 2, 2023

SIG-Build updates

Installer

Engine

Build

@forkercat
Copy link

forkercat commented Oct 3, 2023

Highlight Updates

New Prefab Overrides: Need Description here

Added support for prefab overrides in the new Document Property Editor (DPE) inspector. Prefab overrides are now visible as blue dots in the inspector. Users can see and manipulate overrides on entities at property and component levels. (RFC: o3de/sig-content#112)

SIG-Content Updates

Features

Bug fixes

@Ulrick28
Copy link
Contributor Author

Ulrick28 commented Oct 9, 2023

Closing as future release note updates for 23.10 should be via PR.

@Ulrick28 Ulrick28 closed this as completed Oct 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants