The project involves developing a robust game using the Godot Engine, which frequently requires importing and exporting various assets including models, textures, and animations. The game's development relies heavily on the consistent and reliable functionality of Godot's importers and exporters.
Describe the problem or limitation you are having in your project
We are encountering regressions and compatibility issues with Godot's importers and exporters, particularly when updates or changes are made to the engine. This inconsistency leads to delays in development, increased debugging time, and overall instability in the asset integration process.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
The proposal is for a comprehensive unit testing approach for all Godot Engine importers and exporters. This approach would ensure each importer and exporter is tested in isolation with mocked data, covering various file formats. This enhancement would address regressions and compatibility issues, leading to a more stable and reliable asset integration process.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
Tests: Implement a series of unit tests within Godot's CI system.
Mock Data Generation: Create mock data for various file formats to test importers and exporters.
Isolation Testing: Each test would focus on a single importer or exporter, verifying its functionality independently.
Regression Checks: Include tests specifically designed to catch known bugs and prevent their recurrence.
If this enhancement will not be used often, can it be worked around with a few lines of script?
This enhancement is integral to the engine's core functionality and cannot be adequately addressed with a script. It requires integration into the engine's main repository and CI system to be effective.
Is there a reason why this should be core and not an add-on in the asset library?
The proposed testing approach is essential for the fundamental reliability and stability of the Godot Engine's asset importing and exporting capabilities. As such, it needs to be integrated at the core level to ensure that all updates and changes to the engine maintain a high standard of compatibility and functionality. An add-on would not provide the same level of comprehensive testing and would not be as effective in preventing regressions and compatibility issues.
In the interest of practicality, I'm scoping this to the 3D pipeline since this was originally a glTF regression. Any efforts to improve other import and export areas are welcome though.
Describe the project you are working on
The project involves developing a robust game using the Godot Engine, which frequently requires importing and exporting various assets including models, textures, and animations. The game's development relies heavily on the consistent and reliable functionality of Godot's importers and exporters.
Describe the problem or limitation you are having in your project
We are encountering regressions and compatibility issues with Godot's importers and exporters, particularly when updates or changes are made to the engine. This inconsistency leads to delays in development, increased debugging time, and overall instability in the asset integration process.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
The proposal is for a comprehensive unit testing approach for all Godot Engine importers and exporters. This approach would ensure each importer and exporter is tested in isolation with mocked data, covering various file formats. This enhancement would address regressions and compatibility issues, leading to a more stable and reliable asset integration process.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
If this enhancement will not be used often, can it be worked around with a few lines of script?
This enhancement is integral to the engine's core functionality and cannot be adequately addressed with a script. It requires integration into the engine's main repository and CI system to be effective.
Is there a reason why this should be core and not an add-on in the asset library?
The proposed testing approach is essential for the fundamental reliability and stability of the Godot Engine's asset importing and exporting capabilities. As such, it needs to be integrated at the core level to ensure that all updates and changes to the engine maintain a high standard of compatibility and functionality. An add-on would not provide the same level of comprehensive testing and would not be as effective in preventing regressions and compatibility issues.
Referenced Issues