Feature Request: Custom Objects as Unified Sprites
What would you like to request:
I would like Custom Objects in Gdevelop to be recognized as unified sprites if all their children are sprites. Alternatively, provide an option to choose how the engine should interpret the object—as text, a sprite, a 3D object, or another type.
Why you are requesting it:
Since I started using Gdevelop and experimenting with Custom Objects, I have envisioned building complex structures intuitively. However, I repeatedly encounter the limitation that the parent object of Custom Objects is not recognized as a sprite. This restriction prevents me from fully utilizing the potential of Custom Objects, forcing me to find inconvenient workarounds.
For example, I have a character composed of four parts: Head, Eyes, Body, and Weapon. When I create my Custom Object, let’s call it Hero, I can reference it in events but can’t use it effectively because the parent object Hero is not recognized as a sprite. This means I can’t use extensions like Character Feel, which significantly reduces the potential of Custom Objects. Additionally, I want different functions for individual children, such as making the eyes blink while the Hero is idle. To achieve this, I currently have to scale, animate, and position each part individually, which is inefficient and results in visual inconsistency. I want to swap weapons, choose different hairstyles, and add unique features to each component without affecting the entire parent.
For instance, if my Hero uses a platformer extension and is scaled during jumping, falling, or landing, I would have to assign a platformer extension to each part and scale them independently. This looks bad and is incredibly inconvenient.
Supporting evidence:
Here are the key benefits of this feature:
-
Enhanced Usability and Efficiency: Developers can work more efficiently by eliminating the need to manage each part individually.
-
Seamless Integration with Extensions: Extensions like Character Feel would work seamlessly with Custom Objects, unlocking their full potential.
-
Improved Visual Consistency: Treating all parts as a single sprite ensures cohesive animations and scaling.
-
Greater Flexibility and Customization: Developers can easily swap components and add unique features without affecting the entire parent object.
-
Community-Driven Extensions: Expanding Custom Objects’ functionality would harness the community’s creativity, leading to more powerful tools.
By addressing this limitation, Gdevelop can become an even more powerful and versatile game engine.