MeshRenderer
In Unity's toolbox, the MeshRenderer is akin to a paintbrush which 'draws' the 3D objects onto the screen. It is a crucial component class within Unity's render system, taking the raw geometry data from the Mesh Filter and using it to render the object onto the game's window.
Working interdependently with the object's Class.Transform component, the MeshRenderer displays the 3D graphics at the precise position, rotation, and scale defined by the Transform. Additionally, it features the capability to tweak a GameObject's Material properties, allowing developers to adjust the visual appearance of their objects.
The partnership between MeshRenderer and Mesh Filter is fundamental to Unity's method of rendering 3D objects. For in-depth insights into how you can wield the MeshRenderer to influence the visual aesthetics of your game, dive into the official Unity MeshRenderer Documentation.
Properties
The additionalVertexStreams property is a Mesh that contains additional vertex data Streams. It is a highly advanced property that should be used with Shader Inputs that are expecting to receive this data. More can be found in documentation link.
The enlightenVertexStream property provides a Mesh that has the Enlighten data Vertex Stream. Enlighten is the lighting system used in Unity's Render to provide Real-time Global Illumination. For more details, refer to official Unity documentation.
The subMeshStartIndex of a mesh represents the first index of the submesh within the MeshRenderer. Submeshes are subsets of a mesh, and are often used to apply different materials to different parts of a mesh. Further details can be found here.