I don’t know if it helps, but it’s likely a floating point error. If you ensure everything is greater than one decimal point it makes it a lot less painful.
That said, would love to get an update on this. It’s been interrupting my workflow for over nine months.
The only fix for this I can think of is automatically adding some sort of “Object” into the PackageLink object which would be working as relative point for whole package. So when you move the whole package around the map, relative position of each of it’s descendants to the packagelink object stays the same until you modify one particular part.
I think it would also be cool to allow some easy “customization” in packages - eg allow “Configuration” object in PackageLink and if any of it’s descendants was changed, it wouldn’t affect the state of package.
To make it easy to implement updates, there could be a “DefaultConfiguration” folder (read-only unless you’re package maintainer, rewritten when updating package) and the “Configuration” one anyone can configure.
Hi, we just released a fix yesterday. Can you please check if this issue is still reproducible? If it is, can you please share the minimums steps to reproduce the bug? Thanks!
Sure. Basically I just open a place where I have packages with humanoids in them, and it thinks they’ve changed. Reverting the package to a “previous” state also doesn’t solve it.
I see this same issue frequently, and it it makes packages very untrustworthy.
My solution is to practice good modeling hygiene (however these I can’t prove any of these work).
When I position packages, don’t place them where they intersect with other Objects.
I resize items in packages to whole number increments, rather than by dragging to arbitrary decimal numbers.
Also, and more importantly. I use disposable “dummy” copies of my packages in my game layout, and then my code swaps these out for the real package. This way, I can disconnect the dummy from the package, and it doesn’t matter if it gets corrupted.
Very interesting ideas for how to work around this bug, I appreciate the insight.
I would guess intersecting packages with objects would likely cause the system to think it’s changed. Regardless, this practice is something I always do, but for some reason I still experience it.
Sadly sticking to whole numbers isn’t always feasible - especially for R15 NPCs. I’ve done this for non-NPC packages and it works fairly well though. Back before some of the fixes, moving/rotating a package on a decimal scale could end disastrously.
For your dummy packages, are you referring to InsertService? I’m curious as to how you make this work with visualizing things.
I place a positioner (CAT in the image below) in Studio. The positioner is a Model, that contains a block called Positioner, and a model called Dummy. At runtime, I delete Dummy, and use Positioner as the location to place a clone of my model that I am inserting. If this doesn’t make sense, let me know.
function module.addModel(props)
local defaultOffsetConfig = {
useParentNearEdge = Vector3.new(0, 0, 0),
useChildNearEdge = Vector3.new(0, 0, 0),
offsetAdder = Vector3.new(0, 0, 0)
}
local parentFolder = props.parentFolder or workspace
local positionerModel = props.positionerModel
local templateName = props.templateName
local offsetConfig = props.offsetConfig or defaultOffsetConfig
if not positionerModel then
return
end
local dummy = Utils.getFirstDescendantByName(positionerModel, 'Dummy')
if dummy then
dummy:Destroy()
end
local positioner = positionerModel.Positioner
local cloneProps = {
parentTo = parentFolder,
positionToPart = positioner,
templateName = templateName,
fromTemplate = true,
offsetConfig = offsetConfig
}
local newItem = Utils.cloneModel(cloneProps)
return newItem
end
Hello there, I have been experiencing this with the packages I have, it’s been happening with 2 models:
1st: It’s full of accessories, when I started changing it once, it always needs me to update it.
2nd: I think I added a viewportframe and a model inside that has bones, which is why it’s always thinking I haven’t published yet. I do not know if this still keeps happening as it only happens to me once for this 2nd type of bug.
I still experience it with the package full of humanoids I mentioned in the OP, so it’s totally possible. I figure it’s probably some sort of floating point error with NPC pieces and accessories.