Lumber Tycoon 2 depends on the dragger instance for model placement. The dragging system creates a single rectangular bounding box part for use with the dragger, and on each frame it positions the model which the bounding box represents inside of the box.
To prevent the model from conflicting with the dragger, all parts in the model are set to CanCollide, CanTouch, and CanQuery false.
As of 1-2 days ago, it appears that the model is once again causing conflicts, despite CanQuery false. The dragger is stuttery, sticky, and especially fails on vertical surfaces. Adding the model parts to the dragger parts ignore table passed in Dragger:MouseDown() also does not solve the issue. Only fully removing the model will solve the problem.
Before the introduction of CanQuery, I had to unparent the model before calling Dragger:MouseMove() and then reparent after. This caused visual flickering. For now I need to revert to this compromise to get good dragging.
Is the dragger selection box part of a collision group? I believe one way to work around the selection cursor “colliding” (e.g. ClickDetector events, DragDetector events) with a part is to put it in a CollisionGroup that can’t collide with the Default CollisionGroup. The reason this works is because the cursor is technically part of the Default CollisionGroup.
This might not be sustainable though, as if your game has a large number of collision groups a collision group for a player’s cursor might put you over the limit.
Without a good baseline since there isn’t much code out there using the Dragger Instance, I’ve found it hard to make progress on this. I don’t spot anything that would obviously have changed the behavior and it’s hard to tell what the correct behavior should even be.
Would you be interested in replacing the Dragger instances in your game instead?
I’ve assembled a pure Lua Dragger ModuleScript which exposes the same interface as the Dragger Instance but backed by the current Studio follow-the-cursor drag mechanics instead. If you use this you should be able to get whatever behavior you want: Dragger.rbxm (114.8 KB)
I’ve included a grid snap value and an ignoreCharacters toggle as constructor arguments to Dragger.new, which should give a free boost in functionality to your place while you’re at it by dropping in this implementation. And since it’s pure Lua you can dig in and customize the drag behavior further if you want.