Show Gui after amount of time

I want to show my GUI on spesific amount of time. I dont know why but it doesnt work. Is it because of NGUI? i also tried them as a gameobject, still doesnt work.

I spent 2 hours to find a similar question, i hope i didnt miss.

using UnityEngine;
using System.Collections;

[AddComponentMenu("NGUI/Interaction/Button Activate")]
public class showgui : MonoBehaviour
{
	public GameObject target;
	public bool show = false;
	
	void Start() 
	
	{ if (target != null) NGUITools.SetActive(target, show); }

	void update()
	{
				StartCoroutine ("showmenu");
		}

	IEnumerator showmenu(){
	
	yield return new WaitForSeconds(3);

			NGUITools.SetActive(target, show);
		  }
 }

First off, your update method needs to be upper case to be Unitys Update. But you wouldn’t want to call the coroutine in Update anyways, instead call it in start.

Second, your string approach should work. For the second approach:

StartCoroutine(showmenu());

ok, somehow I solved it. I copy this script to another gameobject and make target deactive at the beginning, after that it works.

Thank you for your help.