This interface acts as a factory, and allows for the dynamic creation of custom movement behaviors for InteractablesIInteractable when selected by an InteractorIInteractor.
The instance is used to generate movement when an Interactable is Selected Interactor.InteractableSelected For an example implementation, see ObjectPullProvider.CreateMovement For example usage, see RayInteractable.GenerateMovement