How do I fix this WaterBase error?

Hi everyone!
Before starting, I know it’s possible that this question was made by another user, but I didn’t found a solution for me, so I’m posting to see if someone could help me to solve this.
I’ve started following a 2d platformer course a week ago.
I’m not a developer, I’m just learning and using my art to make a game, but everything was going fine until this happened.

I was playing arround with the particles to make a cool respawning effect, and I don’t remember why (I suposse it was because an error that showed) deleted a water script
That obviously gave me a big error, so after hours of trying things, figured how to reimport that script.
But now I have this error:

Assets/Standard Assets/Effects/ImageEffects/Editor/Water (Pro Only)/WaterBaseEditor.cs(8,13): error CS0246: The type or namespace name WaterBase' could not be found. Are you missing UnityStandardAssets.Water’ using directive?

I was very happy with the results, but now I’m stuck here and I’m not able to find a solution (Spent days searching on the internet, but 0 luck)
And the waterbase files are on their places, I don’t get it.

Can somebody help me please?

Here’s the part of the code where the problem is supossed to be:

using UnityEngine;
using UnityEditor;

public class WaterBaseEditor : Editor 
    public GameObject oceanBase;
    private WaterBase waterBase;
    private Material oceanMaterial = null;
    private SerializedObject serObj;
    private SerializedProperty sharedMaterial;
	public SerializedProperty waterQuality;
	public SerializedProperty edgeBlend;	
	public void OnEnable () 
		serObj = new SerializedObject (target); 
		sharedMaterial = serObj.FindProperty("sharedMaterial"); 
		waterQuality = serObj.FindProperty("waterQuality");   		
		edgeBlend = serObj.FindProperty("edgeBlend");   		
    public override void OnInspectorGUI () 
    	waterBase = (WaterBase)serObj.targetObject;
    	oceanBase = ((WaterBase)serObj.targetObject).gameObject;
        GUILayout.Label ("This script helps adjusting water material properties", EditorStyles.miniBoldLabel);
    	EditorGUILayout.PropertyField(sharedMaterial, new GUIContent("Material"));
    	oceanMaterial = (Material)sharedMaterial.objectReferenceValue;

		if (!oceanMaterial) {
			sharedMaterial.objectReferenceValue = (Object)WaterEditorUtility.LocateValidWaterMaterial(oceanBase.transform);		
	        oceanMaterial = (Material)sharedMaterial.objectReferenceValue;
			if (!oceanMaterial)

Make sure that you also import the “Water” sub-folder from the “Environment” folder of the Standard assets

I have the same problem today.

Refer to Unity - Manual: Special folders and script compilation order

You can move the dictionary “Assets\Malbers Animations” (Which contains WaterBase class) to “Assets\Standard Assets\Malbers Animations”

Adding “using UnityStandardAssets.Water” will not work, the namespace is already referencing that. RodBeta2 has the right link, but it doesn’t spell anything out. My solution, based on RobBeta2s link was to move the whole Editor folder out of StandardAssets and make it a top-level directory (Assets → Editor).

If you are still having this problem, I fixed mine by adding
using UnityStandardAssets.Water;

I have the same problem, but its not working with ‘‘using UnityStandardAssets.Water;’’.

Can you help me.




Having the same issue with 2017.2 with a new project. This is the fourth or fifth new project with 2017.2, but the first one to exhibit this problem. Neither of the two solutions above have helped. Any other ideas?

using UnityStandardAssetsWaterVolumeCopy.Water;

I had a weird issue like this. I had imported a project that pulled Standard Assets into a “Unity Essential - Standard Assets” folder. Well, then when I imported Standard Assets, it created a separate folder.

So the WaterBase was in the Unity Essential folder. I moved everything out of the Unity Essential folder into the Standard Assets folder, and it immediately resolved itself.