ViewportFrame/Mesh Rendering Bug

As of about an hour ago, models rendered through ViewportFrames are taking a long time to render in, or they don’t render at all.

IF they do render in, when you remove them from the ViewportFrame, they continue to be rendered through the viewport frame for an unknown amount of time, before switching to the new model parented to it.

Here is a few GIF’s demonstrating the bug.

This is the layout of the UI:
image

Clicking the right arrow button destroys the current viewport model, and clones in new item’s model, the camera also gets re-positioned to look at it.

in this gif, you see nothing is rendering in the viewport
https://i.gyazo.com/cb25c398003af93c18c89e34d1e1b0ff.mp4

In this gif, you see the explorer destroying and creating the new item (my mouse going off screen is clicking the arrow button to cycle):
https://i.gyazo.com/f2595fecc348bc83804eba08f899857b.mp4
After leaving an item selected, eventually it renders into the viewport, to which when I begin cycling the shop, it never unrenders for a random amount of seconds.
https://i.gyazo.com/35fb841c962ef3ee2220ae261e7256e7.mp4

As stated, this just began happening in both studio and live servers. However nothing changed in my code.

I tried preloading the model’s descendants when cloned, however this changes nothing.

Edit: I changed nothing and it is working as expected again in studio
Edit 2: It appears to be place specific? Even if I publish the same place file to two different Places, it only occurs in one (happens in Firework Simulator 🎆 - Roblox but not FWS Dev - Roblox)

GIF of the viewport frame rendering as expected - 0 code changes from the GIFs above:
https://gyazo.com/bc712c945101db384d72af6acb37a680

This looks like a server or network issue. I joined your game and it looks fine. Could you check if other people are experencing the same problem? It will be very helpful if there is a studio project that can reproduce it.

1 Like

I’m trying to make a simple repro however it is working as expected.

I have confirmed with my players that it is happening to them as well - in that live place I linked.

This may be less related to ViewportFrames and more to Mesh replication? I joined that same live place and I am seeing many of the character’s body parts not loading in properly (invisible/stuck in place), as well as the tools in their hands (which share meshes with the shop items) being invisible.

Some players in this server say they can see the shop items fine, whereas I cannot.

Here’s an invisible player (you can see his humanoid label above his head):

I have pinpointed this issue even further, and it gets even weirder.

If I login on this account - on any device - and play that live place (this includes testing in studio), the mesh loading issue occurs. 100% of the time. My character mesh always loads in without issue.

If I login on this account - on any device - and play another place but with the exact same rbxm file published to it, the issue does not occur. Ever.

If I login to my alt account - on any device - and play any place version of the rbxm, the issue does not occur. Ever.

How is it possible an issue like this is seemingly linked to both the Place and account? So strange. It is also making testing my game quite difficult.

I have also tried all scenarios from different IP addresses and ISPs, with no change.

Does Roblox create a separate image for each frame in a ViewportFrame? Not sure if they do, but they create different assets for CSG Unions (which is why it takes Unions ages to load.)

This could be related, but I’m not sure.

I’ve been having this issue since ViewportFrames were released. The weird thing about this bug, is if the mesh is loaded in Workspace, it obviously renders. However, you put the mesh in a ViewportFrame, and suddenly it is no longer loaded in. Deleting the mesh will leave behind the part without a mesh.

I originally noticed this issue via the viewport bug however it quickly escalated to the point of which I explained in my previous post. They must be separate issues.

Could you try using PreloadAsync to preload the mesh before adding it to ViewportFrame?
Were there any errors it outputs? Did PreloadAsync return?

I did try this already, and it is actively doing this. It does not make a difference.

There are no errors from PreloadAsync.

Did you check if PreloadAsync returns or not? Maybe it’s taking a long time to finish?

Yes, it returns without any delay or problems.

here’s an image of output, the “===” are separating the cycling of the shop:

image

As you can see the PreloadAsync time never yields longer than usual however the issue still continues.

This is still an issue with this place. Various models/character pieces fail to load randomly, regardless of being rendered through a ViewportFrame. The ViewportFrame just seems to amplify the issue.

I tried several times but still can’t reproduce it.:worried:
Does the behavior of ViewportFrame in the top video happen 100% when you join the place and open the shop?

Does this also happen every time? Will it happen if you don’t open any shops?
Did you tried changing your avatar? This is the only reason I find might be specific to your account.

Yes, this has happened 100% of the time since initially reporting the bug. I’ve not once been able to play-test the game on this place as a normal player would experience it.

The character mesh issue appears random, however happens regardless of whether i open a shop since joining or not.

I make changes to my avatar relatively often, and have not noticed a change.

I’ve uploaded a video showcasing the bug a bit better. It’s a little long (<4 mins) however it shows me producing the bug by joining the game -> entering shop. As well as re-joining and experiencing the bodypart mesh bug without opening the shop. Not sure why the video was a bit choppy at the beginning, it clears up after a few seconds.

Here’s the video (youtube link)

At 1:30 i go through the Network Details in the Developer Console and see a mass amount of GET requests with RequestType Players on the Server side… I don’t see this flood in my other games - could this be related?

Thanks for your video.

If you don’t see those requests in your other games, it’s likely caused by your game logic. Please check if you have queries that calls from Players service traversal, eg LoadCharacter, GetUserIdFromNameAsync, GetNameFromUserIdAsync, GetFriendsAsync, GetHumanoidDescriptionFromUserId.

I’m still investigating it. I’ll let you know if I can find anything.

1 Like

Could you try deleting all files in %tmp%\roblox\http folder and play again? Maybe it’s caused by broken cache.

I tried, it did not make a difference. Your suggestion also prompted me to completely re-install the client. This also made no difference. :frowning:

Agreed. I’m more than willing to send a staff member the place file to the affected place. However as stated above - I can upload the exact same place file to another place and not experience the bug. The issue is isolated to one place. The ultimate solution to this problem is for me to use a different place, however since this is an active game with concurrent players/statistics - I cannot do this.

Models/Meshes work fine with ViewportFrames for me in other places, too. They even work fine in this place, on other accounts.

No, it’s not. This is the definition of troubleshooting. Trial and error. If the possible solutions given thus far had solved the issue, I would respond stating so. It’s not as if I’m lying about the outcome of the suggestions… the cause/solution has just yet to be determined.

Have you read this entire topic? I’ve uploaded a 4 minute video showcasing the issues, under different scenarios, as well as going through network statistics at the time of bug. What else can I do? Please provide me with steps to help determine the underlying issue.

1 Like

Stumbled upon this thread due to a similar problem with a mesh not rendering locally within a Viewpoint Frame. I haven’t found the exact cause of the issue but I did find a solution, I just parented the armor I was working with to Workspace followed by a wait() and then parented it back to the Viewpoint Frame.

Pre-fix:
https://gyazo.com/88049e4382e443b7c6cdca68527899b1

Post-fix:
https://gyazo.com/ae25d82da828a513ccbdaf326575919a