The ability to force parts to render

As a Roblox developer, it is too hard to create large background visuals at lower settings. What I mean by this is having very large objects in the distance without it being out of render view because of low graphics settings. Having large objects in the background is good because it gives a sense of the objective and where you need to go, if these are key objects.

In my case, I have a massive portal.

Graphics 10


The full portal is in view.

Graphics 6


Part of the portal has disappeared, making it just look strange.

Graphics 5


The portal is now completely out of sight.

Distances and map view for scale

This might be a niche case, but I feel like other things could use this. The ability to choose which parts render, especially at low settings could be used for background scenes like this, things like binoculars or telescopes in games where you can see into the distance - whatever you are looking at could just be rendered.
Large FPS games would also benefit from this - if you are sniping someone then you can do so on low graphics if the dev has made it so characters and the landscape around them is rendered.

This could be abused by people forcing all parts in their game to be rendered. If the dev wants to do that then they can, but it of course wouldnā€™t be advised.
Iā€™m not sure how this could be implemented - maybe as a property or as a function you have to call on.

Please tell me what you think and if you can think of any other use cases for this. I think some more control over what renders could do us all some good.

119 Likes

This is definitely a common use case. Developers need to show large objects in the distance (castles, planets, mountains, etc), even on low graphics levels. The solution is LOD. A few engineers were brainstorming ways this could be implementing at one point (AFAIK it was never an official project though) ā€“ itā€™s simple enough to switch out with a low-quality version for solid objects like meshes and unions because you just change the meshId, but what about models with moving parts? What about lights/etc?

The engineers undoubtedly understand that this is an important feature ā€“ the problem we face now is determining a good way to implement LOD.

30 Likes

I was thinking about posting something like this, aha. In my case, itā€™s a sandbox tycoon and I want my map to be forced to render but the models to load as they normally would. Would help a lot with visuals

2 Likes

Fairly sure this was talked about at RDC too with automatic LOD of CSG and Meshes. I kind of feel like this isnā€™t exactly the solution Iā€™m looking for but it would help a lot in terms of performance in large maps such as my own. In fact, I actually tried making my own LOD system for replacing houses and everything with lower quality versions. It went horribly due to the lighting and physics updates.

I see your point completely though - if we had an LOD system then the whole map could be rendered. Perhaps we could choose to force certain objects to render at higher resolution even if itā€™s at a distance if/when this is ever implemented. I would however still like this feature Iā€™m suggesting right now though, since we currently donā€™t have LOD. I do support LOD fully, though.

8 Likes

Brilliant example, Iā€™ve had objects in a far distance that if a player saw it would help them, but with lower graphic qualities they couldnā€™t see it therefore rendering them to search for it. I give my support.

4 Likes

as a person who plays with lower graphics i support this idea

im tried of increasing my FPS just to see parts of the map thatā€™re too far away from my character to be rendered

8 Likes

Huge necro bump here, hopefully not an issue - was about to post my own thread. My idea was going to be a property called ā€œForceRenderedā€, or something along those lines.

There are a lot of use cases where long distance parts need to be rendered, either for gameplay purposes, or for scenery.

19 Likes

Bumping this again, this is something that needs being implemented, We should be able to force render some specific parts no matter the graphics setting

9 Likes

Bumping this once again, Iā€™m trying to make a large area at the beginning of my game that shows stuff at a distance that gives a grandiose type of feel, however as of right now this is completely impossible. Even using the new LOD feature just makes giant blobs in the distance that are supposed to be mountains. Roblox has been doing a lot of changes to StreamingEnabled now PLEASE allow us to choose objects we want to render regardless as this is pointlessly limiting to developer creativity as of right now.

7 Likes

We NEED this, esp for sci-fi/space games. I have a massive planet, but players cannot see it.

5 Likes

I ran into this issue many times:

  • I had a lobby with an interesting background with a sunken ship, a blue block representing the ocean, and some huge MeshPart for the mountains. (Players with low graphics couldnā€™t see the background at all).
  • I have a meteor in the game. (Players with low graphics are unable to see where is coming from because of low graphics)
  • A planet getting bigger in the sky. (Players with low graphics are unable to see the planet because of low graphics)

At the end of the day, is not like you will spam your game with parts rendering all the time, but is needed for things like I mentioned.

7 Likes

Did they ever implement something to fight this? Embarrassing if not

1 Like

This was very easily doable at one point, roblox had a branch called zfeatureharmony. This was abandoned as of 2022 for unknown reasons. In this branch of roblox you were able to change individual bits of the graphics settings available in the engine. Instead of having 1 slider for all settings.

10 Likes

StreamingEnabled update that is coming out soon will help I believe.

1 Like

Havenā€™t heard of this, can you provide more info or a source?

Iā€™ve been meaning to implement that into my game anyways, so if I can kill 2 birds with 1 stone thatā€™d be amazing. Though itā€™s important to remember that Iā€™m talking about graphics rendering out, not being streamed out - there is a difference

2 Likes

Iā€™ve been begging roblox for settings for years. The technical head told me they ā€œwouldnā€™t be used muchā€ by the children players of roblox, therefore we were never getting themā€¦ Was a cruel joke of a response.

3 Likes

Itā€™d be cool to see something like that. For my project, I intend to have skyscrapers at a distance. Thinking about how gta 4ā€™s skyline how there isnā€™t a load of things rendered with details until you get closer (see image below). Yes they have the basic shapes of the skyscrapers but they donā€™t have like the more in detail building textures compared to going up close.

Maybe for kids itā€™ll be complicated, which is a thing Roblox can think about on how they can make something like that work. Possibly, it can be added for users 13+ since the players around that age range can handle how they want their game rendered. <13 users arenā€™t going to care as much about render as to them, itā€™s just another game to play and mess around in.

In conclusion, itā€™d be cool to see this implemented in the future. Considering that it would look great on visuals for games with larger maps.

2 Likes

This, is the exact response you can expect to receive on any request regarding visual fidelity & control over its performance load.

They simply refuse to accept the fact that we want visual fidelity and control for the sake of our games running better, looking better and being more accessible for lower end if we would be able to control more lower level functionality of the engine!

A good example being, why does Roblox have no shaders, no advanced lighting and so on?
The answer being very likely OpenGL. Which is at this point so old and slow, being used by such a small amount of mobile users and almost NO desktop users at all.

Every other engine has deprecated OpenGL in favor of Vulkan (Atleast on desktop) which is far more faster and allows for more visual features. But even then, mobile versions of engines (such as unity mobile or unreal mobile) still offer support for OpenGL, albeit those versions still offer far more features than what Roblox will likely ever give to us.

Put short, Roblox for the most part donā€™t care about requests regarding fidelity and control. They always want to justify either not adding features to begin with or then make such features be completely automated, look as terrible as possible (so that the 1% can still run it.) and uncontrollable (envmaps are good example. I have no idea how they thought that its a good idea to have them being randomly generated during runtime). The engine has so much potential but its simply being pushed away.

I have honestly given up trying to get any sort of response from Staff or Engine Developers.

6 Likes

Streaming is not a good solution. Its still automated and we still cannot manually replicate instances.

We need manual control. Streaming being automated does not suit for most games.

2 Likes

OpenGL vs Vulkan is mostly irrelevant in this discussion as we are not making AAA games in roblox.
The problem is that higher ups in roblox corp belive in the nft and metaverse.
The people that would say ā€˜noā€™ to shaders at roblox corp are the same people that want phone calls and face tracking in roblox.

5 Likes