Material Service Beta Updated with Per Part Custom Materials + More

any thought on this?

I really hope they add this as soon as possible
i also forgot to mension that it would be really cool to add the ability to change studs per tile per part.

2 Likes

Ohh now i understand these new features, This is an amazing step to the roblox platform! Amazing.

Oh yes! Changing the colors would be very nice, but it’s up to them

2 Likes

I’ve actually tried that on my own, And the results are, Disappointing, Roblox make water wavy for a reason, SSR wont truly mimic light reflection as the light behind you wont even reflect, Even the pillar that is just above your fov will be gone, In order to use that, Delete the normals texture of water in roblox app and add a flat normal, Change the default water texture to a Cyan color.

Yes studs per tile is really important

2 Likes

Ye actually thats what i really need, so i dont have to make multiple textures per material that i am using and it will be nice in combination with material service
I hope they add this as soon as possible

1 Like

Ye i hope they will add these feutures mentioned by @Sketch_RO
i really need those for my project

2 Likes

Looks like we’re not the only one whom is suggesting good stuff, it just depends on roblox.

2 Likes

I think Roblox is finally starting to head in the right direction developer-wise, We have always wanted options and we are finally getting them.

I have a few questions:

  1. Will we get a grass overhaul with a vegetation system (multiple grass types and mixing between them)
  2. Will we also get a water overhaul with custom textures (Ripples, Foam, Water Flipbooks, Noise customization, etc)
  3. Will we be able to flipbook our materials for more detailed effects?
  4. Godot 4.0 is getting a feature called “Screen space Indirect Lighting” as well as the other features its post-processing has gotten, Will the Roblox engine get features like that?
  5. Finally when wind ships will we get toggles for things like a water modifier, cloud modifier, or grass modifier to control what wind will affect.
6 Likes

Where did you get the info for the water overhaul? I don’t recall there being any mention of such an update.

Edit: Just realized it was suggestions

1 Like

I would be incredibly surprised if they actually reply to this. But anyway I doubt mobile devices would be able to handle Indirect Lighting.

2 Likes

Default Materials Update so far: (So far, mostly PBR and scaling has been changed, though brick seems more consistent now.)


Old:

Not many changes, but they are noticeable!
(Note, this is just using the FFlag, and could be inaccurate. But I do think the changed scaling looks good.)

3 Likes

Im aware mobile probably cant handle it so If it were added I’m assuming it would be disabled on mobile.

2 Likes

Roblox fixed this
Something I have noticed is that Parts cannot use organic textures and will replace Organic textures with Regular textures with can make textures look a lot worse while I see the terrain with the same textures as parts and it looks better due to it not repeating, it would be better if parts had this

Regular VS Organic


11 Likes

Organic material patterns for parts MUST happen. Please, Roblox!

10 Likes

Can we please get an estimate as to when this feature will be fully live? I have used custom materials to create and entire map only to find it isn’t live yet and everything is grey. Please please :pray:. :+1:

4 Likes

Can the permissions of MaterialVariant.BaseMaterial be loosened so that normal scripts can read its value? I’m trying to dynamically load in variants from a package that is stored outside of the MaterialService which gets loaded in at runtime.

It’s part of a generic item database that we have in our game and it’d be cool if we can keep this data inlined so we don’t have to manage a separate collection of MaterialVariants.

The idea I have in mind at runtime is to:

  • Prefix the MaterialVariant name with Item_{ItemType}_
  • Write the BaseMaterial’s name into the attributes of the item.
  • Use this data later to programmatically apply the Material and MaterialVariant.

Currently the only way to read its value is through this hack:

--!strict
local MaterialService = game:GetService("MaterialService")

local function getBaseMaterial(target: MaterialVariant): Enum.Material
	local parent = target.Parent
	
	if not target:IsDescendantOf(MaterialService) then
		target.Parent = MaterialService
	end
	
	local name = target.Name	
	local result: Enum.Material
	
	for i, item in ipairs(Enum.Material:GetEnumItems()) do
		local material = item :: Enum.Material
		
		local success, variant = pcall(function ()
			return MaterialService:GetMaterialVariant(material, name)
		end)
		
		if success and variant == target then
			result = material
			break
		end
	end
	
	target.Parent = parent
	assert(result, "Failed to resolve BaseMaterial!")
	
	return result
end

Alternatively, it’d be nice to have a method like this which automatically sets the correct Material & MaterialVariant properties for a given MaterialVariant:

Function void BasePart:SetMaterialVariant(MaterialVariant materialVariant)
5 Likes

ye youre right i really need them to add ithis feauture,
i hope it
i am making something on blender and already textured it on substance painter
i have a barrel with rust texture
but i want to be able to change its color and texture

3 Likes

I really hope we at least get the grass we were shown 3 years ago in RDC 2019. Source Engine grass looks better than the dumb triangles we’ve been stuck with.

6 Likes

youre right,
3 YEARS AND STILL NOT FULLY AVAIBLE?

2 Likes