New property: Model.Visible

I would love to create a resource for semi-frustum culling where objects are hidden if they are completely hidden by walls or terrain.

Reparenting or moving the object far away is unfeasible because of slow performance and cases where the collision still needs to exist or to preserve momentum.

6 Likes

Bump!

This would be so useful.

5 Likes

This would be very useful in my game where I very often hide models that I know can’t be seen. I’m currently just setting LocalTransparencyModifier but this would be much more fitting and hopefully faster than using transparency.

3 Likes

preach, it makes optimizations very hard, having a visible option or even some kind of bulk method would do so much good in large complex experiences.

5 Likes

It’s a bit silly that we have AI generated textures, materials, script-assistant and patchnotes, yet we don’t have extremely basic engine features like this.

Support.

7 Likes

This feature is crucial for any game engine. It’s quite funny that the CEO of Roblox claims to have respect for the community, but yet none of the developers at Roblox seem to even acknowledge this missing feature.

But what can you do? Well, finding workarounds. I don’t like giving up.

I like to play around with the Roblox engine, pushing its limits. And I just now found out you can make anything invisible but still simulated in the workspace by putting them inside of a ViewportFrame inside the workspace like so:
e7a85ea54cd380ce91a299fe69f9845c

It’s not perfect, as you still need to parent things, which can cause problems in some cases. But at least you won’t have to worry about any Transparency, Enabled or Visible property.

Then again, Roblox needs to add this feature themselves, similarly to the CanvasGroup for UI, which was a literal game changer.

6 Likes

You can also make the part permanently invisible by creating a ViewportFrame, parenting the part inside it then parent it back to its original parent in the same frame.

1 Like

Yeah, that’s actually a problem with this method I just realized. I am currently trying to find a way to fix that.

1 Like

I believe you can parent it to a ViewportFrame that has existed since the last frame and then reparent it to its original parent.

1 Like

I don’t really understand what you mean. But I figured out that if you parent the Part to something like Lighting and then back to its original parent, it will be visible again.

1 Like

Bump, this would be an amazing alternative to, for example a for loop that checks if it’s a part, meshpart, etc and changes its transparency to 1. Scripting would be made a lot easier in that specific case. It would also be less resource demanding for larger models that lag the game.

1 Like

Another day, another use-case!

I want to create a type of “ghost player” so dead players can spectate others but the living players shouldn’t be able to see the dead ones. This isn’t an M Night Shyamalan movie!

There is no way to do this nicely. I have to turn all character parts transparent. Then I have to account for things that aren’t parts but still show up like classic faces or particles.

Please engineers. Think of the possibilities.

7 Likes

There’s a lot of them. Convenience and optimization if absolutely nothing else.

3 Likes

This is easily one of my favorite suggestions ever. This would be extremely beneficial to me and save hours of development time. It is super inconvenient to have to reparent objects to nil or ReplicatedStorage to toggle their visibility and have to adjust all of my scripts to account for the change in ancestry when I would much rather keep the objects under workspace.

One of my most recent use cases for this feature was when I was rewriting the code for my game Spray Paint. There is a feature where you can hide artwork, and it works by reparenting folders that hold art to ReplicatedStorage. Every time I referenced an art folder in other scripts, I couldn’t directly reference it in workspace and had to check for it’s existence in ReplicatedStorage first in case it was hidden. This may not seem like a big deal, but it becomes tedious when 90% of the scripts in my game rely on the paint layer system. Hours and countless errors could have been avoided if I could’ve simply toggled a property for model/folder visibility.

4 Likes

I agree. It would be much more useful and efficient than looping through the descendants of a model which shouldn’t be laggy but could become laggy depending on the amount of descendants in a model. Bump :+1:

The explanation provided by Daw588 is very comprehensible and detailed, mentioning examples of other platforms that have done this in the past, should definitely check out:

3 Likes

Just noticed how old this feature request is. Very surprising ngl.

2 Likes

They first mentioned the group join prompt one in 2014, if you want really old.

4 Likes

Surprised this isn’t even added yet. Kind of tired of using for loops to things invisible!

3 Likes

Very well put! I really wish they added this :pensive:

1 Like

yeessss this is a very valuable feature