Open 3D Engine (O3DE) is an Apache 2.0-licensed multi-platform 3D engine that enables developers and content creators to build AAA games, cinema-quality 3D worlds, and high-fidelity simulations without any fees or commercial obligations.
The engine will fail to handle packets if users accidently register a multiplayer autocomponent twice. Resulting in network disconnect and is difficult to track down.
Steps to reproduce
Add an Autocomponent to cmake FILES list more than once
Rebuilt client and server (or editor)
Play the game and connect to server
Open the generated \Source\AutoGen\AutoComponentTypes.cpp and notice components are registered twice, with a different s_netComponentId
Expected behavior
Engine should not register a component twice. Either assert at runtime, or update auto-gen to catch the mistake at compile time.
Actual behavior
Client connects to server, and then disconnects due to server failing to interpret a packet.
The engine will fail to handle packets if users accidently register a multiplayer autocomponent twice. Resulting in network disconnect and is difficult to track down.
Steps to reproduce
s_netComponentId
Expected behavior Engine should not register a component twice. Either assert at runtime, or update auto-gen to catch the mistake at compile time.
Actual behavior Client connects to server, and then disconnects due to server failing to interpret a packet.
Found in Branch development
Commit ID from o3de/o3de Repository 11e6a1e8d28035d187b0df6d0869be62c8c151aa Thu Aug 1 12:24:07 2024