Release Notes for 649

Happy Halloween Creators! :jack_o_lantern: :ghost: :man_zombie: :mage:
Studio build 649 has dropped and here’s the release notes:

Spooky farewell until next time!
IgnisRBX

58 Likes

Wow this is a big one. Exciting.


You know, it’s gonna take me a bit to remember that Instance isn’t the baseclass anymore. Either way, this is a huge improvement. Any engineer wanna share what changed? Last I knew the implementation was already pretty simple.


This was changed because we bothered a Luau person about it. Just goes to show that sometimes dreams really do come true.


oh and also there’s this beta i guess. that’s pretty neat.

34 Likes

Wait, does this mean the sky instance will work in viewports?

9 Likes

Whats a roblox/selection, this has peaked my curiousity. Still want drag-drop support from the external file system in plugin GUIs. (ie dragging an RBXM from Explorer into Studio).

Now would be a great time to request this since plugingui drag drop seems to be getting some love again.

7 Likes

Performance improvement for ‘:IsA()’!?

How?

Isn’t that just a simple check for the type? How does that have any noticeable impact on performance. And more importantly: how did you make it faster? :sweat_smile:

4 Likes

A mime type representing that the current DataModel’s Selection is the thing being dragged, which various pieces of Studio like the new Explorer will follow as a convention.

You can’t send Instance references through a system-level Drag-n-Drop so an alternative mechanism is needed to communicate dragging of the selection.

5 Likes

Are there any decent performance uplifts from this? I’m curious to know exactly how much this property increases performance!

7 Likes

What does this property do? Can’t find any information on it

6 Likes

That’s all the info. Still no clue about what it actually changes performance wise.

5 Likes

excited for this


@apenzijncoolenleuk1

While this isn’t an official answer, it’s important to recognize that in coding, there are often numerous ways to reach a solution, and many can be optimized significantly using techniques like caching, divide-and-conquer, dynamic programming, memoization, and even parallel processing in some cases.

For instance, various search algorithms—like linear search, binary search, and hash-based search—perform differently based on the structure and size of the input. Each algorithm has strengths suited to particular types of data, and choosing the right one can make a major difference in efficiency.

In short, runtime optimization is essential for effective code, and understanding concepts like Big O notation, amortized analysis, and space-time trade-offs can help you make well-informed decisions about the best approach for any given problem.

11 Likes

My guess is InvalidatedFastClusters, basically, from my understanding, there is some precalculation/cached stuff to models containing a humanoid, to make their rendering faster. However, updating things inside the humanoid causes it to recalculate stuff, leading to lag spikes (or general lag) when doing frequent visual updates to characters

Would be nice if an engineer could confirm, or tell what RenderingCacheOptimizations is for

3 Likes


:pray:

slight typo here btw

4 Likes

Adds “Occlusion Culling” as a Studio beta feature. [Pending]

W update, excited to test performance differences!

3 Likes

What you’re thinking of is our internal IsA being O(1), but that’s because we already know the classes and such in advance at compile time. The Luau method wasn’t quite so brilliant. The optimization was a pretty straight forward one: we’re caching the class that a string of its name correlates to directly. This allows us to actually use that clever O(1) optimization that we weren’t before.

11 Likes


When will Occlusion Culling be live I cant wait to try it out.

5 Likes

that is very promising

1 Like

Makes AssetService:CreateEdtiableMeshFromPartAsync() non-functional; switch to AssetService:CreateEdtiableMeshAsync().

This has a slight spelling error, CreateEdtiable should be CreateEditable.

2 Likes


Could we have a separate option for this? “Paste to Parent”

1 Like

What use case do you want the previous behavior for?

3 Likes

Sky has been implemented for viewports since the beginning I think, but it’s not used for skyboxes, it’s used as a cubemap to give reflections to reflective objects in the viewport frame.

2 Likes