Hello Developers,

We recently released a new design for Tap To Move that improves the user experience and looks better too! The improvements include:

Updated the art assets for the path and location markers

Path markers now scale based on your zoom level, so they are easier to see

When clicking a location you can’t reach, the character stops moving and a “shrug” animation will play

When clicking on a wall, the location marker will move down to the point where your character will end up

Customization API

We have exposed Getters and Setters for each of the following properties on the ClickToMoveController. You can get a reference to the ClickToMoveController by requiring the PlayerModule and using the GetClickToMoveController method. See the example below.

Bool ShowPath - Should the path that the user is taking should be displayed? Defaults to true.

- Should the path that the user is taking should be displayed? Defaults to true. Content WaypointTexture - The texture to be used for the ImageHandleAdornements to display the path.

- The texture to be used for the ImageHandleAdornements to display the path. Number WaypointRadius - The size of the dots to display the path to the user.

- The size of the dots to display the path to the user. Content EndWaypointTexture - The texture to be used for the end waypoint in the path.

- The texture to be used for the end waypoint in the path. Bool WaypointsAlwaysOnTop - Should the waypoints should display always on top or not? Defaults to false.

- Should the waypoints should display always on top or not? Defaults to false. Bool FailureAnimationEnabled - Should an animation be played on the user’s character when a path can not be found? Defaults to true.

- Should an animation be played on the user’s character when a path can not be found? Defaults to true. String IgnoredPartsTag - A tag using CollectionService for parts to ignore when determining the point that the user clicked on. An example of when a you would want to use this is an inviscam style setup where the user can see through some parts.

- A tag using CollectionService for parts to ignore when determining the point that the user clicked on. An example of when a you would want to use this is an inviscam style setup where the user can see through some parts. Bool UseDirectPath - Turns off pathfinding so that the user just moves in a direct line to the point they clicked if nothing is blocking the way.

- Turns off pathfinding so that the user just moves in a direct line to the point they clicked if nothing is blocking the way. Bool UserJumpEnabled - Should the user be able to trigger a jump themselves or should the jumps be handled by the pathfinding system? Defaults to True.

Additionally we have exposed a function that allows developers to leverage the click to move module to make the players character to move to a given location. This allows you to leverage the click to move display and pathfinding to move the players character.

ClickToMoveController:MoveTo(Vector3 position, bool showPath = true) - Move the users character to a given point using the click to move module.

Example:

local LocalPlayer = game:GetService("Players").LocalPlayer local PlayerModule = require(LocalPlayer.PlayerScripts.PlayerModule) local ClickToMoveController = PlayerModule:GetClickToMoveController() ClickToMoveController:SetShowPath(false) ClickToMoveController:SetUserJumpEnabled(false) print(ClickToMoveController:GetWaypointTexture())

In the future, we plan on adding more customization options to the other Camera and Control scripts so please let us know if you have any idea for options you would like to see!