I'd like to create my own Terrain Tool and combine height modification with texture painting. For learning purposes about how to do that, I tried to get the PaintTextureTool.cs from the UnityCsReference Link to work: Problem is that it isn't compilable when I add the file into my project (names of course changed). Errors: Code (CSharp): Assets\Editor\TerrainTools\PaintTextureToolCopy.cs(12,6): error CS0122: 'FilePathAttribute' is inaccessible due to its protection level Assets\Editor\TerrainTools\PaintTextureToolCopy.cs(33,9): error CS0122: 'TerrainLayerInspector' is inaccessible due to its protection level Assets\Editor\TerrainTools\PaintTextureToolCopy.cs(78,37): error CS0117: 'Editor' does not contain a definition for 'DrawHeaderGUI' Assets\Editor\TerrainTools\PaintTextureToolCopy.cs(81,41): error CS0117: 'EditorGUI' does not contain a definition for 'GetInspectorTitleBarObjectFoldoutRenderRect' Assets\Editor\TerrainTools\PaintTextureToolCopy.cs(83,41): error CS0117: 'EditorGUI' does not contain a definition for 'DoObjectFoldout' Assets\Editor\TerrainTools\PaintTextureToolCopy.cs(117,42): error CS1061: 'MaterialEditor' does not contain a definition for 'firstInspectedEditor' and no accessible extension method 'firstInspectedEditor' accepting a first argument of type 'MaterialEditor' could be found (are you missing a using directive or an assembly reference?) Any idea how to get around that? Using Unity 2018.3.4f1.