A Control system for free (Regular) movement with custom moves support (like roll or dash) it also comes with all possible properties of a movement system like speed, rotation speed, custom rotation speed, animation control, and camera following system (with rotation correction), and a lot more.
The system also supports raw inputs (direction scaled from 0 to 1)... Check API
The system has a section for custom movements (like fast dashing or rolling)
will all possible properties and live enable/disable controls...
Check examples and API for script control
This System requires an Input Controller to receive commands (MOST Controller or any other input system) and all examples in MOST IN ONE use MOST Controller.
it's much better this way to be easier to modify and if you want to use another Input system instead of MOST Controller.
you will find the "Input Getter" section inside the .cs file contains all functions that receive input commands for this system, Check API.
__________ * API * __________
// All attributes are set and get so you can modify or call
// Next to each line shows the return and set data Type
// Functions
// main behavior enable and disable controller
Most_FreeMovement.EnableState(bool Enable);
__________________ On Start Moving __________________
// Start Moving function, call it to enable/start moving
// OnInputDetected() Call it if the input doesn't provide direction yet
// Like.. when touch the screen without moving the finger... On Touch began only
// This method will move the object depending on its current rotation
Most_FreeMovement.OnInputDetected()
// OnInputDetected() Call it if the input already provides direction
// This method will move the object toward the input direction
Most_FreeMovement.OnExeedMinRange(Vector2 direction)
// You have to call one of "On Start move" functions to enable moving
__________________ On Direction Update __________________
// Call it to update object direction // on controller direction updated
// OnInputUpdated() Uses the absolute value of the input direction equal to 1
// and the speed of the object is equal to the system speed
Most_FreeMovement.OnInputUpdated(Vector2 direction)
// OnRawValueUpdated() Uses the magnitude value of the input direction from 0 to 1
// and the speed of the object is equal to the system speed * that magnitude
Most_FreeMovement.OnRawValueUpdated(Vector2 direction)
__________________ On Direction Update __________________
// Call it to enable dash move
// OnSwipeDetected() controls the dash direction using the direction input
// and send a warning message if there is no direction (just to let you know)
Most_FreeMovement.OnSwipeDetected([Optional] Vector2 direction)
// OnAutoSwipeDetected() the dash direction will become the current
// object direction and in that case you have to enable rotation on the system
Most_FreeMovement.OnAutoSwipeDetected()
__________________ On Stop Moving __________________
// the default value for exceed = false
Most_FreeMovement.OnInputReleased([Optional] bool exceed)
// Call it to stop object from moving // on controller release
//_______________________________________________________________//
// ReadOnly variable... Check if the Move system is active or not
Most_FreeMovement.Enable; return bool
// ReadOnly variable... Quick checker if the object is moving right now or not
Most_FreeMovement.IsMoving; return bool
// ReadOnly variable... Quick checker if the object is using the dash right now or not
Most_FreeMovement.IsDashing; return bool
// Controls the moving part of the system if it enables (sends data) or not
Most_FreeMovement.EnableMove; return or set bool
// Controls the rotation part of the system if it enables (sends data) or not
Most_FreeMovement.EnableDash; return or set bool
// Controls the rotation part of the system if it enables (sends data) or not
Most_FreeMovement.EnableRotation; return or set bool
// the target direction of the movement system
Most_FreeMovement.MoveAxis return or set (TargetAxis.X_Y or TargetAxis.X_Z) ;
// Movement Speed of the object
Most_FreeMovement.Speed; return or set float
// Dashing Speed
Most_FreeMovement.DashSpeed; return or set float
// the time that dash will be active in
Most_FreeMovement.DashDuration; return or set float
// Rotation speed of the object
Most_FreeMovement.RotationSpeed; return or set float
Most_FreeMovement using Most_Controller
Most_FreeMovement using Most_Controller and apply Raw Input
Custom move inside Most_FreeMovement system Using Most_Controller Swipe detector
Custom move inside Most_FreeMovement system Using Most_Controller Button