GraphicsEditor v1.2 - Module For Dealing With Graphics/Visuals

download_icon (1)download_icon (1)

Introduction


GraphicsEditor is a performance module for modifying the graphics side of things.

This module makes it easier to change or modify certain aspects of a game’s graphics. This can be used to implement a Low-Quality option for low-end devices, a Setting system with multiple options, and more!

GraphicsEditor supersedes Perclean, an old module I made a while ago that does the same thing. The difference is, that I rewrote the module from scratch. Unlike Perclean, this utilizes OOP instead of folders for its inner workings. It is also more efficient, has more options, is easier to use, and the code is more organized which makes it easier to update this module.


There are two functions for the entire module, making it easier to use and navigate through. These are ge.new() and ge:SetOption(option: any, state: boolean)

The current available options are CastShadow, Lighting, RenderDistance, PostProcessing, and TextureAppearance .

Example Usage


Example code on how to use the module:

local ge = require(game:GetService("ReplicatedStorage").GraphicsEditor).new() 

ge:SetOption(ge.Lighting, false)

Low-Quality Mode

https://i.imgur.com/Rf7T8Tk.mp4


Documentation



If you have any recommendations on what to add on this module, please comment it down below! Thanks for readin’.

35 Likes

Thanks! Could we get some screenshots please?

3 Likes

There are some photos on the GitHub

2 Likes

Hi, I would like to start off by saying how wonderful this module is for performance. It definitely helps with modifying the graphics to our liking, and will save us a lot of time from trying to implement one ourselves.

The code of the module is rather clean, of which I highly approve of using this resource if you’re ever looking to optimize your game for the user’s experience. Whether that’ be for phone users, PC, and other platforms. You have proved yourself with this outstanding module, it is definitely better than Perclean and that is what I’m all for. And thanks for also providing a documentation of this module AKA GitHub. I really appreciate that, and so will others.

I hope to see more changes such as quality of life updates to this module. As simple as it looks, it’s actually quite useful in advance. Well done, you did an amazing job with it!

2 Likes

Thank you so much, I really appreciate it!

If any of you have some recommendations of what I could add for the module, I would be happy to add it!

6 Likes


v1.1 (UPDATE)


  • Added a new option named ParticleRendering, you can read more about it here (cr. @SpiralAPI).
  • Added a new page to the Github wiki called API.
  • Updates will now be also uploaded in the Github page as a new release.

If there are any issues about the module, please tell me and I will try my best to fix them.

4 Likes

With the CastShadow settings it’s doing workspace:GetChildren() but it would be better if you used workspace:GetDescendants() so it gets all the parts in workspace

2 Likes

image


v1.15 (MINOR UPDATE)


  • Fixed the issue where CastShadow used GetChildren() instead of GetDescendants() (cr. @dogpower12x)

If there are any issues about the module, please tell me and I will try my best to fix them.

3 Likes

I’m noticing there’s no mass toggle feature. It’d be very nice if we could turn on or off every feature with a single function. Having huge blocks of GraphicsEditor:SetOption(GraphicsEditor[SETTINGHERE], boolean) is quite ugly, imo.

1 Like


v1.2 (UPDATE)


  • Rewrote the entire module to make it cleaner and easier to update.
  • Added the option to enable/disable all current graphical options (cr. @Objectionist)
  • Changed the function name of “SetOption()” to “SetGraphic()”.
  • Updated GitHub documentation

If there are any issues about the module, please tell me and I will try my best to fix them.

1 Like


v1.25 (MINOR UPDATE)


  • Fixed a bug which completely made GraphicsEditor unusable. The constructor function before would apparently be expecting a table as a parameter whereas it shouldn’t. Honestly, not really sure how I missed this. :sweat_smile: (cr. @axelito123456)

If there are any issues about the module, please tell me and I will try my best to fix them.

3 Likes

Does :SetGraphic(“CastShadow”, false) makes the Lighting.GlobalShadows to be Disabled too? Also, I’ve already switched to GraphicsEditor since I heard you posted an announcement that there’s a new version of Perclean. it’s beneficial and I’m thankful this exists :slight_smile:

1 Like

Sorry for the late reply-

The “CastShadow” option only toggles the CastShadow properties of BaseParts.

1 Like

Which is correct? (I need to know this so my settings system powered by this Community Resource won’t be broken)

This code from the Home wiki?
GraphicsEditor:SetOption(GraphicsEditor.Option, false)

or this code from the API wiki?
GraphicsEditor:SetGraphic("Option", false)

I’m not really sure which one is perfectly working and up-to-date which is why I need to know this, thank you.

1 Like

Sorry, my bad.

You should follow the API wiki, I’ll go ahead and update the Home wiki.

1 Like

Could another graphic option be MaterialAppearance? As in when enabled, all bricks, unions etc become plastic and disables reflectance. I’m not sure if it is actually effective in reducing performance or not but it’s something that is found in a multitude of games.

1 Like