Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

I have recently been making an inventory system, but I can't manage to get the UI to show up with Input.GetKeyDown like I've wanted to. Here is my code:

using UnityEngine;
public class Inventory : MonoBehaviour
    public GameObject invUI;
    public GameObject soulFragmentPanel;
    private void Update()
        if(Input.GetKeyDown(KeyCode.E))
            invUI.SetActive(true);
            soulFragmentPanel.SetActive(false);
        if (Input.GetKeyUp(KeyCode.E))
            invUI.SetActive(false);
            soulFragmentPanel.SetActive(true);
        if (invUI.activeSelf)
            soulFragmentPanel.SetActive(false);
                Once you release the E key, you close the UI. Plus you said GetKeyDown but you wrote in code GetKey. Is that what you wanted ?
– Malphegal
                Jan 19, 2020 at 16:18
                Oh oops lol, I forgot to remove that and change it to GetKeyDown. I was testing to see if that would work, and it didn't. Also, I have tried commenting out the GetKeyUp, but that doesn't work either.
– Concepts
                Jan 20, 2020 at 19:48
                So, when you press E, is your GameObject enabled in the hierarchy ? Maybe parents are disabled ? Is the content of invUI what you wanted ? Is any of his children disabled ? Is invUI off screen in some ways (x, y location, wrong layer, something above, ...) ?
– Malphegal
                Jan 20, 2020 at 20:05
                Can you post screen shots of what you want to achieve and what is actually happening... also can you post screen shots of the hierarchy so we can the state of the objects while debugging.
– Jonathan Alfaro
                Jan 20, 2020 at 22:33

Can you check in unity? you turn off that object which contains the Inventory script.

you have to set the invUI and soulFragmentPanel in single canvas and take Inventory script in that canvas.

so your code is working properly.

Thank you so much! After a little tweaking off of what you said, I got it to work how I wanted it to! – Concepts Jan 22, 2020 at 0:13

Thanks for contributing an answer to Stack Overflow!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.