Unbind from renderstep warning

I am also getting this warning!

I’d like to acknowledge that it was also from something like this:

1 Like

Thanks for reporting! Forwarding this along to the team.

5 Likes

This bug has also been outputting to the console when i die or sometimes even spawn in when I have the new roblox core ui feature enabled.

1 Like

Bumping this here to say it’s still happening. Unsure if the attempt to fix has gone through, just thought I’d reply in case it has.

1 Like

Happened to me aswell after I recently updated my game. I did notice that my studio wasn’t updated to the latest version when updating the game, so perhaps that may be the explanation to these bugs?

That could be a possibility, but I was experiencing this issue within a live version of the game. From there, I don’t see Roblox having any issues because of Studio.

I also issued a bug report on this same issue. I didn’t find this one because you didn’t put the error message in as text, only as screen shots. But my bug report has been linked from the OP if you want to look at it.

This is spamming my error report dashboard. Any update on this issue?

3 Likes

I’ve been experiencing this since I updated a game. It’s creating clutter on my console, and is extremely annoying. If anyone could shed some light on what the cause is, that would be appreciated.

1 Like

I have the same problem, any progress?

1 Like

I haven’t seen this bug in some time. Have you tried running RobloxStudioInstaller.exe to fix any corrupted files? I’ve had problems with file corruption in the past and that usually fixes it.

1 Like

This issue still occurs as of May 22nd.

1 Like

Alright so I went ahead and took a peek into the CoreScripts to find out what was causing this, and what I found genuinely blew my mind.

The problematic code can be found in CoreScripts.Modules.Settings.Pages.Players. The code in this file is responsible for the displaying of the list of players in the escape menu and I’m legitimately appalled that this code was allowed to ship to production.

The function that keeps calling BindToRenderStep() wasn’t exactly hard to find, I just had to search for the name it used. Here it is:

What this function does is quite befuddling. See, it’s called resizeInspectButton but what it actually seems to do is check whether the screen orientation just changed and if it did, destroy the old button, create a new one, and then on line 1165, create a new render step binding and unbind the old one. Hang on, that can’t be right, right? RIGHT???

Well let’s see what calls this function, maybe it’s not so bad. Nope! Turns out it’s called on line 1130 inside an event connection declared on line 1659! Would anyone like to guess what event this is? That’s right, it’s an event that gets fired every single time the parent frame’s size changes!

That’s right kids, we are destroying the old UI and constructing a new one every single time the screen orientation changes! Oh but it gets way worse! It does the same thing for the “add friend” and “block” buttons too! And it does this for every single entry in the player list! And who knows how many more instances of this there are throughout the rest of the escape menu’s code?

But hey, maybe I’m crazy. Maybe I’m misunderstanding something. Maybe I’m- Nope. It really is that bad.

Anyway I’m genuinely befuddled why there isn’t a rule enforced company-wide that all UI code that ships with studio or the client must be written with React, because this is just flat out bad practice. It’s virtually impossible to fall into a pattern like this when using React.

Gonna cc @Stickmasterluke here because he’s the one who wrote this file. Maybe he can shed some light on why things were done this way, because to me it makes zero sense and just wastes performance.

21 Likes

Still happening, can we get any news?
Experienced in Roblox Innovation Awards 2024 - Voting Hub - Roblox

1 Like

Can the developer fix this issue by himself/herself? I can’t believe this issue still isn’t been fixed after almost 2 months

4 Likes

Two months later, and this is STILL giving me loads of errors. Not ideal.

I think the reason why it has to remove the old Gui and generate a new Gui if the orientation of the device changes is because it’s easier and more performant to just dump the old Gui and recreate it than to see what’s there and resize it. Remember, you said it yourself that it’s only called when the parent frame is resized, so how often does that happen? When the orientation changes.

Although it’s a newer report, this one has received a response from an engineer:

Bump it by relying/mentioning the engineer so we can hopefully get this fixed.

1 Like

Kinda crazy it’s been two months, I really need this fixed because it makes it so I can’t see my scripting warnings. :frowning:

1 Like

Update: Fix is rolling out!

1 Like