How to fix it problem

Assets/Standard Assets/Water (Basic)/Sources/Scripts/WaterSimple.cs(11,8): error CS0619: UnityEngine.Component.renderer' is obsolete: Property renderer has been deprecated. Use GetComponent() instead. (UnityUpgradable)’

using UnityEngine;

// Sets up transformation matrices to scale&scroll water waves
// for the case where graphics card does not support vertex programs.

[ExecuteInEditMode]
public class WaterSimple : MonoBehaviour
{
    void Update()
    {
        if( !renderer )
            return;
        Material mat = renderer.sharedMaterial;
        if( !mat )
            return;
          
        Vector4 waveSpeed = mat.GetVector( "WaveSpeed" );
        float waveScale = mat.GetFloat( "_WaveScale" );
        float t = Time.time / 20.0f;
      
        Vector4 offset4 = waveSpeed * (t * waveScale);
        Vector4 offsetClamped = new Vector4(Mathf.Repeat(offset4.x,1.0f), Mathf.Repeat(offset4.y,1.0f), Mathf.Repeat(offset4.z,1.0f), Mathf.Repeat(offset4.w,1.0f));
        mat.SetVector( "_WaveOffset", offsetClamped );
      
        Vector3 scale = new Vector3( 1.0f/waveScale, 1.0f/waveScale, 1 );
        Matrix4x4 scrollMatrix = Matrix4x4.TRS( new Vector3(offsetClamped.x,offsetClamped.y,0), Quaternion.identity, scale );
        mat.SetMatrix( "_WaveMatrix", scrollMatrix );
              
        scrollMatrix = Matrix4x4.TRS( new Vector3(offsetClamped.z,offsetClamped.w,0), Quaternion.identity, scale * 0.45f );
        mat.SetMatrix( "_WaveMatrix2", scrollMatrix );
    }
}

Have you tried the suggestion from the error message?

1 Like

I just don’t remember what to insert where and I haven’t tried this suggested message, can you please tell me what to insert where

It’s very straightforward in the message you’re seeing: renderer has been deprecated. Use GetComponent<Renderer>() instead

1 Like

can you or show how to change it

I don’t have the script named WaterSimple.cs in my Standard Assets, but I do have one named WaterBasic.cs which looks similar. Maybe this will help you.

using System;
using UnityEngine;

namespace UnityStandardAssets.Water
{
    [ExecuteInEditMode]
    public class WaterBasic : MonoBehaviour
    {
        void Update()
        {
            Renderer r = GetComponent<Renderer>();
            if (!r)
            {
                return;
            }
            Material mat = r.sharedMaterial;
            if (!mat)
            {
                return;
            }

            Vector4 waveSpeed = mat.GetVector("WaveSpeed");
            float waveScale = mat.GetFloat("_WaveScale");
            float t = Time.time / 20.0f;

            Vector4 offset4 = waveSpeed * (t * waveScale);
            Vector4 offsetClamped = new Vector4(Mathf.Repeat(offset4.x, 1.0f), Mathf.Repeat(offset4.y, 1.0f),
                Mathf.Repeat(offset4.z, 1.0f), Mathf.Repeat(offset4.w, 1.0f));
            mat.SetVector("_WaveOffset", offsetClamped);
        }
    }
}

о i try this

I put this code but i gain 191 errors

Maybe if i do in unity 5 version

Thanks i fixed this problem

1 Like