As a developer I want to move parts around that don’t interact with anything physically, and roblox makes my game slower when I do this because it updates a ton of unnecessary physics data every time any part moves. These parts are used for effects, effect emitters, adornments to other parts, map detail, etc.
Most of the parts I create from lua are not intended to interact physically in any way.
So I suggest a new part type that doesn’t have any physics interactions. No collisions, no gravity, no Touched event, nothing.
When you put a mesh/particle/light/sound in a part solely for the visual effect, roblox does a bunch of physics operations in the background for no reason. This takes up unnecessary processing time and it can become significant very quickly, especially with a lot of these effects.
it’d probably not be placed in “BasePart” but more into its own seperate group “NoPhysicsBasePart” (or something like that)
“NoPhysicsMeshPart”, “NoPhysicsUnion”, all that stuff.
In Unity, this is the default behavior until you explicitly add in certain physics components for an object. Of course, this would be counter to Roblox’s original vision of everything being simulated in-game (is that still the ultimate vision?)
I think this feature would be great for game makers. But I’d love to see some stats as to how much performance gain is achieved by doing this versus anchored and non-cancollide parts. Especially on mobile.
Since the dawn of time we’ve been able to make things anchored and non-cancollide, and people have done it in nearly every popular game. It has huge performance benefits compared to simulating every single thing on the screen, which allows games to both look decent and run on phones. But the performance benefit could be so much greater if there was a way to completely ignore all physics.
Support - Even for inanimate objects like grass that just sit in the workspace, this would be useful for. It would allow for a lot more particles and a lot more detail without sacrificing performance. I would, however, like to make sure that this would include meshes placed into the parts. Foliage would be a great use of this.