It’s actually quite simple.
In order to achieve this, you would need to obtain the client’s mouse from when they click within the bounds of the button. This can be done using:
Once you have the mouse, similarly as how 0e_l explained, you would insert an ImageLabel which uses a circle as an image and you would place it as a child of the button with the position of the client’s mouse X and Y attributes.
You can then use TweenSizeAndPosition in order to increase the size of the circle while maintaining the original position of the client’s mouse at the time of clicking the button.
You’d want to make sure that the ClipsDescendants property of the button is set to true as well to ensure that the circle only expands within the bounds of the button.
That should be all though!