Based on my knowledge of Spine in Unreal Engine, the Spine Widget automatically calculates its bounds based on the current animation, which can cause the size and positioning to change as you've observed. This is the default behavior where the skeleton scales to fit within the widget space.
For your use case of displaying multiple standing skeletons consistently with fixed sizes and positions, I'd recommend these approaches:
1. Use Skeleton Renderer Component instead of Spine Widget
The Skeleton Renderer Component is designed for in-game/world-space rendering rather than UI, and gives you direct control over scale and position. You can:
- Set the actor location to position the skeleton precisely
- Use
SetScaleX() and SetScaleY() to set exact scales like 1x1 or 0.5x0.5
- The skeleton's origin (root bone) will be at the actor's location, giving you the precise control you want
2. If you must use UMG/Spine Widget
You can work around the automatic bounds calculation by:
- Setting a fixed size for the Spine Widget in the UMG designer
- Using the
Scale property on the Spine Widget to scale the skeleton up or down as needed
- Consider that the widget will try to maintain aspect ratio, but you can control its container size
The Skeleton Renderer Component approach will likely be cleaner for your needs since you want fixed-size, consistently-positioned standing characters rather than flexible UI elements. The widget's automatic bounds adjustment is designed for UI flexibility, which conflicts with your requirement for precise, consistent sizing.