- Home /
Input Manager can't detect a already pressed button
I have a handBreak button on my simulator that starts pressed/on, so I need that the InputManager detect if this button is pressed and modifie a boolean. The problem is that the InputManager can't detect this already pressed button. I tested with keyboard and joystick. Every time I start or reset the game, with the button pressed, it is not detect, I need to unpressed once to start to be detect. Here is a simple code to test it. Any clues? I'm stucked. TKS
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class TestPressed : MonoBehaviour
{
// Start is called before the first frame update
[SerializeField]
private bool button1Pressed;
[SerializeField]
private int countB1;
private GUIStyle guiStyleR = new GUIStyle();
// Update is called once per frame
void Update()
{
if (Input.GetButton("Fire2")){ // using letter "c" on Input
button1Pressed = true;
countB1++;
}
else
{
button1Pressed = false;
countB1 = 0;
}
if (Input.GetKeyDown(KeyCode.R)) {
SceneManager.LoadScene(0);
}
}
private void OnGUI()
{
guiStyleR.fontSize = 30;
guiStyleR.normal.textColor = Color.blue;
guiStyleR.fontStyle = FontStyle.Bold;
GUI.Label(new Rect(200,10, 220, 40), "B1: " + button1Pressed + " " + countB1, guiStyleR);
}
}
Answer by denish_gabani · Dec 24, 2019 at 06:03 AM
As update method get called many times per frame, it might not able to catch click event. You should try from this.
Thanks denish_gabani. But I am building simulator, so the input will be like a joystick, a real button not a UI.
Your answer
Follow this Question
Related Questions
Problem with Custom Input Manager 1 Answer
Get input's Joypad. 0 Answers
Click strategy 2 Answers
How to get the name of the positive value of a button. 1 Answer
Reading from Serial port with Vive (SteamVR) resulting in huge lag. 1 Answer