Dragger tools no longer able to modify attachments and bones

Reproduction Steps

Try selecting an attachment or bone in game with the move, scale, or rotate dragger tools. Attempt to use the dragger handles. They will not appear

Expected Behavior

When selecting a bone or attachment with the lua dragger tools handles should appear allowing the user to drag and modify the attachments CFrame

Actual Behavior

The handles don’t appear when selecting a bone/attachment

Workaround

I believe this is caused by a fast flag by the name of DraggerHandlesIsEnabledFunction

If this is enabled the main.lua script in the dragger plugins uses this function to determine if handles should render or not:

local moveHandlesEnabledFunction
if getFFlagDraggerHandlesIsEnabledFunction() then
	moveHandlesEnabledFunction = function (selectionInfo)
		if selectionInfo and selectionInfo.basisObject then
			return true
		else 
			return false
		end
	end
end

You’ll note it requires that selectionInfo.basisObject must not equal to a falsey in order for the handles to render. When selecting an attachment or bone the selectionInfo never sets basisObject (i.e. it remains nil). It does however set basisCFrame which from what I can tell is the variable that should be used

tldr;

I believe the fix would be:

local moveHandlesEnabledFunction
if getFFlagDraggerHandlesIsEnabledFunction() then
	moveHandlesEnabledFunction = function (selectionInfo)
		if selectionInfo and selectionInfo.basisCFrame then
			return true
		else 
			return false
		end
	end
end

But am currently unable to easily test it without uprooting a lot of fast flags so that I can run this as a user plugin (as opposed to a built-in one)

Issue Area: Studio
Issue Type: Other
Impact: High
Frequency: Constantly
Date First Experienced: 2022-05-16 00:05:00 (-04:00)

6 Likes

Thanks very much. This has been rolled back to prior behavior.
Thanks for the great bug report, which should help us fix this right up.

5 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.