Lower Minimum Part Density Rollout

I want to create the time scale feature.
I could weld transparent parts to increase weight, but it would be better if Roblox offered a wider range of physical properties, rather than forcing the creation of cumbersome operations.

Also, in fantasy or fiction, small but very heavy objects often appear, and implementing these can be challenging.

6 Likes

Got it! Thanks for explaining this.

It’s super cool to see how you’re thinking about building your own Time Scale functionality. Our team is currently looking into what it’d take to provide this feature to y’all out of the box.

Regardless, I’ll bring up this request with the rest of the team and let you know if we decide to make any changes.

Thanks again for the feedback!

Best,
M0bsterLobster

9 Likes

I recommend turning this lowered minimum into either a long-term Workspace IncreasedDensityRange property or make the change only apply to games already opted in or updated after June 10th. Games that are no longer being updated might rely on the higher density minimum and it wouldn’t be ideal to break those games.

7 Likes

I changed my part’s density to 0.0001, but the part still does not float. It drops down like a brick. What’s the reason?

3 Likes

Do you have the Aerodynamics studio beta enabled? Air buoyancy only works with it on :slight_smile:

3 Likes

Looks great!
Getting a stronger physics engine always makes me happy, however, I am dumb with physics :joy:
Keep up the great work! :blue_heart:

2 Likes

That works, but here’s another problem… When I set the part’s density to 0.0001, everything is fine, the part floats up in the air when playtest. I published the game to Roblox and closed studio. Now when I reopen the same game in studio, the density of the part is reset back to 0.01 instead of 0.0001

4 Likes

Thank you for flagging this - we will work on a fix and keep everybody updated on this post.

2 Likes

I’d also like to mention, games on less scale than 1-1 (eg : 1/4) will have harder times making parts the weight they reasonably should be despite 100 density, an entire house’s wall weighs significantly less than what I and others intend for it to with physics (sometimes they’ll only weigh upwards of 10 RMU when we need upwards of 300 RMU).

2 Likes

Hi Creators,

We have an important update regarding the rollout of our future minimum part density of 0.0001. Due to a bug that we uncovered and are actively working on, we have decided to delay Phase 2 and Phase 3 of this rollout by 4 weeks. This change is intended to ensure a smoother transition for all experiences, giving creators an extra month before potentially experiencing game-changing effects. This should not limit anybody who wants to use this change in their experiences from doing so.

For more information on whether your experience will be affected or not, and how to fix it if so, please refer to the original post below.

The new timeline is as follows:
Phase 2 (June 10th, 2024 - July 7th, 2024)
Phase 3 (July 8th, 2024 onwards)

We apologize for any inconvenience this may cause and appreciate your understanding. Please let us know if you have any questions or concerns.

Best,
M0bsterLobster

1 Like

Could the bug be elaborated on? I’m not sure if using this in my game is going to introduce bugs which aren’t intended

1 Like

Not exactly sure if I over-read something but the setting on workspace is now gone and all parts with 0.0001 density are being clamped to 0.01 and its breaking a few things in my game.

6 Likes

I’m glad you’re limiting the limits!
About FluidForces and Wind, I was wondering if “wind emitters” are planned, basically being able to turn any part into a zone where wind acts differently from how it does in the space around it!

2 Likes

Same here, the workspace property has disappeared and my parts are once again being clamped to 0.01 density. Is this a bug or intended? @m0bsterlobster

6 Likes

We have re-abled the feature and fixed the publish/save problems identified earlier. Please give the feature a try and let us know if there any further problems! Thank you!

2 Likes

Sorry for the confusion. We had disabled it for a couple of weeks due to the bug we were fixing. It’s now enabled again and the bug has been addressed.
Thank you for your patience, please let us know if you continue having issues.

2 Likes

Hi everyone,

I’m excited to announce that we have transitioned to Phase 2 of the Lower Minimum Part Density rollout! We appreciate all your feedback and support during Phase 1.

As a heads up, during Phase 2, you will still be able to opt out if you need to implement any fixes in your experiences. However, please note that once Phase 3 starts on August 5th, the new, lower minimum density will be applied universally.

Thank you for your continued dedication and creativity!

Best,
M0bsterLobster

5 Likes

When will be the Phase 3 rollout?

Just updated the post, the new ETA is 9/30/24 - thank you!

Just for anyone still having issues with A-Chassis (levitating vehicles), I made a command for Studio Command Bar use that should fix all A-Chassis vehicles at the currently opened place at once, printing the name of every changed vehicle in the Output window.

Command for fixing A-Chassis default Density value
local ChangeHistoryService = game:GetService("ChangeHistoryService")

local function ReplaceScript(Script)
    local SearchPattern = "PhysicalProperties%.new%(([%s\n]+)0,"
    local ReplacePattern = "PhysicalProperties.new(%10.01,"

    local ModifiedSource, Replacements = Script.Source:gsub(SearchPattern, ReplacePattern)
    if Replacements > 0 then
        Script.Source = ModifiedSource
        return Script, Replacements
    end return nil, 0
end

local ModifiedScripts = {}
warn("Starting the replacement, stay patient.")
ChangeHistoryService:SetWaypoint("Replacing PhysicalProperties.new 0 to 0.01")

for _, Descendant in ipairs(game:GetDescendants()) do
    if not Descendant:IsA("LuaSourceContainer") then continue end
    local Script, Replacements = ReplaceScript(Descendant)
    if Script then
        table.insert(ModifiedScripts, {Script = Script, Replacements = Replacements})
    end
end ChangeHistoryService:SetWaypoint("Replacing PhysicalProperties.new 0 to 0.01")

for _, Entry in ipairs(ModifiedScripts) do
    print("> Replaced", Entry.Replacements, "occurrences in", Entry.Script:GetFullName())
end warn("Replacement complete,", #ModifiedScripts, "scripts were modified. You can undo this operation using Ctrl + Z.")

I hope it helps :smile:

4 Likes