Custom Grid Material

Have you ever seen your baseplate and thought: “Man, my baseplate looks awful…”

So I was searching through the DevForum for a Custom Grid plugin or something like that, and I actually found some custom grid plugins, but all those plugins were just Grid Baseplate plugins that only made a basepart with a grid texture, so I got tired of searching plugins and I made my own.


What’s Grid Material Plugin

Custom Grid Material is a plugin that creates a custom grid texture for any part or model you select, you can customize different values like the transparency, color or size of your grid texture. The plugin has got 2 buttons, that’s all.


Get Grid Material for free


How to use Grid Material

  1. Selected parts: When you click this button, all the parts that you selected will change to grid material.

    Selecting a folder or a model with parts won’t work, for changing a whole model you must use “All parts” button.

  2. All parts: With this button you can apply the grid material to all the parts that are into your selected folder, model, etc…

    image

    When you press All parts button, the textures will start to generate for each part into the model.

    sd

    Has you can see, the plugin also checks that the object is a part, and if the object is not a part, textures will not be generated for that object

    image


How to customize your grid material

The plugin’s grid material is fully customizable, you can change the grid texture id to add your own image, the Size (StudsPerTileU x StudsPerTileV), the transparency and the color.

The plugin will automatically generate a folder in ServerStorage with all the modifiable values to customize your grid

image

  • GridTextureID: The ImageID of the image used has grid texture. This value is an IntValue, not a StringValue, so using "rbxassetid://5456753037" or "roblox.com/library/5456753037" won’t work, the plugin already does that, you only need to put the number

    The default image used by the plugin is a TileGrid Image made by @Lunya.

  • StudsPerTileU/V: Horizontal and Vertical size of the tiled image, recommendable to keep on the same number for nice looking grid texture

  • Transparency: Hmmm… I will assume that you know what’s transparency.

  • Color: You can modify the Color3 of the grid, but if you want a basic grid that looks good on any surface, keep it on 0, 0, 0 (Black)

If you want to take a look on how to use these values check this video

The plugin comes with a default grid preset that looks pretty nice at least for me, for those lazy ones.


Plugin Footage


Work in progress:

  • Custom plugin gui:

    image (1)
    GUI is still work in progress

    Easier way to customize and apply the grid using Text Boxes.

  • Surface filtering:

    Select the surfaces of the part where you want to apply the grid material

  • Grid Previewer:

    A way to see a grid texture that updates in real time so It’s easier for you to find the perfect look for your grid.


Changes

August 27th, 2020

August 28th, 2020

23 Likes

This is pretty nice I will start using this. When you release it.

2 Likes

Nice idea for a plugin!

You might decide to instead just throw a warning as opposed to inputting a script into the part if it’s not a part. I could definitely see that being seen as an unattractive feature by people who are concerned about either missing the script, having unneeded instances, or wanting manual input of all scripts in-game.

1 Like

Update 1.2

After a while without updating this, I saw the plugin at my toolbar and decided to see if I could update anything. Also tried to add some new features but I didn’t have enough time so they are work in progress.

Changes
  • Some micro-optimizations related to Color3, Instance…

  • Changed the way textures are created:

    • OId way:
      local GridsTable = {
         Front = Instance.new("Texture", Part),
         Back = Instance.new("Texture", Part),
         Bottom = Instance.new("Texture", Part),
         Top = Instance.new("Texture", Part),
         Right = Instance.new("Texture", Part),
         Left = Instance.new("Texture", Part)
      };
      
      for Surface, Grid in pairs(GridsTable) do
         -- Setting up grid properties
      end
      
    • New way:
      local GridsTable = {
         Front = InstanceLibrary.new("Texture"),
         Back = InstanceLibrary.new("Texture"),
         Bottom = InstanceLibrary.new("Texture"),
         Top = InstanceLibrary.new("Texture"),
         Right = InstanceLibrary.new("Texture"),
         Left = InstanceLibrary.new("Texture")
      };
      
      for Surface, Grid in pairs(GridsTable) do
         -- Setting up grid properties
      
         Grid.Parent = Part
      end
      

    If you want to know how does this influence on performance, check this post made by zeuxcg:

    PSA: Don't use Instance.new() with parent argument

  • Reduced the quantity of :WaitForChild() used by the plugin.

  • Now, when Roblox Studio gets started, the plugin will wait some seconds before loading all variables to prevent it from setting up values before studio loaded. Not 100% sure that It will always help, but maybe will help in some situations.

  • [WIP] Custom Plugin UI, as a frequent user of my own plugin, I understand that always having a folder in ServerStorage that is needed for the plugin to work, is not very good. That’s why I’m still looking to make a plugin ui so you can easily modify values without having to use a folder.

    In the last week I’ve been working on UIs for other projects and comissions, and I learned some really cool things that I will apply to the plugin as soon as I can.

    image (1)

  • [WIP] Surface filtering is something that I really want to do, since sometimes I only need to create textures for the top or the front of my parts and It’s a little bit of a mess having to delete the rest of the textures.


That’s all for now, if you’ve got the plugin installed make sure to update it!

2 Likes

Update 1.2.1

  • Fixed that annoying message showing every time you started a test play, no longer showing

    sd

  • New message & message color when the plugin ends applying the grid material

    image

  • The plugin will now automatically notice you when a new update is live

    image

    This feature is not totally stable, didn’t test It so much so maybe It won’t work as intended.

  • Added some extra ChangeHistoryService waypoints and changed positions of the already existing waypoints.


Fixes:

  • “Succesfully created grid” message showing when no grid was created
  • Plugin buttons taking too long to load
  • Removed an unnecessary service that wasn’t used by the plugin

If you’re an user of this plugin and you find any issue related to It, please report it on this thread!

1 Like


Hey uh, what’s with the 4k robux price point and the claim it’s free?

2 Likes

guys quick lets pay 4000 robux for a texture that is entirely free to use!, additionally you can just use a material variant to get an actual grid material.

1 Like

yeah i was lookin thru the plugins thing and was wondering what was happening here, did i miss something because a LOT of plugins had insane price increases

1 Like

Hehehe, you got me guys. These are some plugins I made a while ago and were originally free and open-source. My only commercial (worth it) plugin was one called Easier Sound that I also made a while ago and I used to sell it for 100 robux.

Basically what happened is that Roblox recently announced the pricing changes to the marketplace from R$ to USD. Since I still don’t meet the requirements for transitioning, I’ve decided to just sell all of my old plugins for the inflated prices that are now a standard among all plugins. Just to see if anyone bought them.

In any case, don’t buy them, it’s not worth it. I mean, it’s not that they don’t work but you can simply get them for free on my github profile. Also keep in mind this was one of my first projects that I did for practicing; I do not even recommend plugins for tasks like this.

My apologies, guess that money takes out our dark side :kissing:!

PS: For achieving the same result, use @CCTVStudios’s method instead, really.

1 Like

thats insane, ty for answering

1 Like