Why get accessor over material have to be networked?


I'm trying to get my override color with the new GetMaterialSlot function but i do not understand why core needs to enable networking or client / server context.

I do not want to modify anything, just read the color, the same way I read the position / rotation or scale. Initialy my meshes were in a static context, i put them in a default context ... same problem.
The geometry do not need to be networked/modified but I need it on the both client and server

Thanks !

test code :
local cone = script:GetCustomProperty("Cone"):WaitForObject()
local material = cone:GetMaterialSlot("Shared_BaseMaterial") -- <= error here
local color = material:GetColor()

common error message : "Attempted to modify a field on a non-networked object. (Try marking the object as Networked or move it into a Client Context or Server Context to fix this problem.) Field: GetMaterialSlots, Object: Cone"