Radial Menu Widget
This Radial Menu dynamically accepts children without the need for building static textures.

How To Use
- Drag the Radial Menu to your widget.
- Radial Menu accepts child widgets like any other panel in unreal engine. Add children by dragging and dropping them into the menu. Buttons can also be added if you want to simulate hovering effects (buttons will be cosmetic only).
- Pass the user input to the Radial Menu using one of these functions:

- Get the output using this function (returns the selected index and widget):

Variables and Functions
| Name | Type | Description |
|---|---|---|
| RadialMenuBaseMaterial | UMaterialInterface* | The material used for the Radial Menu base. |
| SelectorColor | FLinearColor | Foreground color used for the selector. |
| BackgroundColor | FLinearColor | Background color used for the Radial Menu. |
| DividerOpacity | float | Opacity of the divider between each element. |
| OptionsPadding | float | Padding for options relative to the widget size. |
| BackgroundPadding | float | Background padding relative to the widget size. |
| SnapSelector | bool | Determines if the selector should snap instead of transitioning smoothly. |
| HideSelectorWhenNotHovered | bool | Determines if the selector should be visible only when hovered with the mouse. |
| BackgroundRotationOffset | float | Rotation offset for the background (0-90 degrees, starting from top and clockwise). Default value is 0.0. |
| SetSelectorColor | Function | Setter function to set the selector color. |
| SetSelectorAngle | Function | Setter function to set the angle of the selector (0-360 degrees, starting from top and clockwise). |
| SetSelectorAngleByIndex | Function | Setter function to set the selector angle based on an item index. |
| SetSelectorAngleFromViewportPosition | Function | Setter function to calculate the angle from viewport position. |
| GetElementUnderSelector | Function, BlueprintPure | Getter function to get the element under the selector. |
| SetSelectorVisibility | Function | Setter function to set the visibility of the selector. |
| MouseDown | Event | Event delegate triggered when a mouse button is pressed down. |
| MouseMove | Event | Event delegate triggered when the mouse is moved. |
| MouseUp | Event | Event delegate triggered when a mouse button is released. |
| TouchStart | Event | Event delegate triggered when a touch event starts. |
| TouchMove | Event | Event delegate triggered when a touch event is moved. |
| TouchEnd | Event | Event delegate triggered when a touch event ends. |