Создаем два скрипта. В одном будет переменная типа bool, а в другом мы эту переменную будем менять.
Например, у нас есть скрипт ScriptA:
```C#
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ScriptA : MonoBehaviour
{
public bool myBool;
}
```
И нам нужно изменить значение `myBool` из скрипта ScriptB. Для этого в ScriptB нужно сначала получить ссылку на компонент ScriptA, а затем уже можно менять его переменные:
```C#
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ScriptB : MonoBehaviour
{
private ScriptA scriptA;
void Start()
{
scriptA = GameObject.Find("Имя объекта с ScriptA").GetComponent<ScriptA>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
scriptA.myBool = !scriptA.myBool; // меняем значение на противоположное при нажатии на пробел
}
}
}
```
Важно помнить, что метод GameObject.Find должен искать объект по точному имени, так что замените "Имя объекта с ScriptA" на имя вашего объекта в сцене.
Еще нужно помнить, что метод GameObject.Find работает достаточно медленно, поэтому лучше использовать его в методах, которые вызываются редко (например, в Start), а не в Update, где это может вызвать проседание производительности.