Save & Load Data using PlayerPrefs


SaveLoadPrefs.cs
using UnityEngine;
using UnityEngine.UI;

public class SaveLoadPrefs : MonoBehaviour
{
    public InputField profileInputField;
    public Slider volumeSlider;
    public Dropdown qualityDropdown;

    public void SavePrefs()
    {
        PlayerPrefs.SetString("key_profile", profileInputField.text);
        PlayerPrefs.SetFloat("key_volume", volumeSlider.value);
        PlayerPrefs.SetInt("key_quality", qualityDropdown.value);
    }

    public void LoadPrefs()
    {
        profileInputField.text = PlayerPrefs.GetString("key_profile", "");  // "" => value if key not found.
        volumeSlider.value = PlayerPrefs.GetFloat("key_volume", 0f);
        qualityDropdown.value = PlayerPrefs.GetInt("key_quality", 0);
    }
}

Patrolling Between two points


Patrolling.cs
using System.Collections;
using UnityEngine;

public class Patrolling : MonoBehaviour
{
    public float speed = 5;
    public Transform point1;
    public Transform point2;

    IEnumerator Start()
    {
        Transform target = point1;
        while (true)
        {
            transform.position = Vector3.MoveTowards(transform.position, target.position, speed * Time.deltaTime);
            if (Vector3.Distance(transform.position, target.position) <= 0)
            {
                target = target == point1 ? point2 : point1;
                yield return new WaitForSeconds(0.5f);
            }
            yield return null;
        }
    }
}