How to Make a VR Keyboard in Unity - Poke and Ray Interaction

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 พ.ย. 2024

ความคิดเห็น • 48

  • @Blu_Bear
    @Blu_Bear ปีที่แล้ว +1

    Perfect timing! Great tutorial as always

  • @josteinschefte-jg6mx
    @josteinschefte-jg6mx ปีที่แล้ว +3

    Thank you so much!

    • @ValemTutorials
      @ValemTutorials  ปีที่แล้ว +2

      Thank you somuch for the donation it means a lot

  • @kysonic
    @kysonic ปีที่แล้ว

    Thank you! Super tutorial!

  • @KheireddineAzzez-l3g
    @KheireddineAzzez-l3g 4 หลายเดือนก่อน +1

    Hi, I hope that you are doing well. can you tell us how to implement that using meta quest 3

  • @jhonrymat
    @jhonrymat ปีที่แล้ว +2

    uff el mejor de los mejores, felicidades por compartis tus conocimientos.

  • @davidosorio1585
    @davidosorio1585 5 หลายเดือนก่อน

    Can you poke with all the fingers?

  • @max-nd8tt
    @max-nd8tt ปีที่แล้ว

    have you tried the OVRVirtualKeyboard ? Seems like it is not working at all :(

  • @jamesprise4252
    @jamesprise4252 ปีที่แล้ว +1

    I'm getting some conflict between the different canvases which is freezing the app. Any setting I'm missing? Thanks!!

  • @PELECHOJUNIORKONE
    @PELECHOJUNIORKONE ปีที่แล้ว

    SUPER.

  • @raphael3024
    @raphael3024 ปีที่แล้ว

    Two handed grab?

  • @marcosmwb8444
    @marcosmwb8444 ปีที่แล้ว +1

    I would appreciate if you make a tutorial on optimization for quest, my game is lagging even in an empty scene with only a xr origin and I followed a ton of tutorial on that subject.

    • @Need2pee
      @Need2pee ปีที่แล้ว +1

      Package the empty scene for Android and upload it to your quest using the side quest and see if it still lags

  • @k4pran
    @k4pran ปีที่แล้ว

    How can we make the keyboard close when both it and the InputField go out of focus? Like when we select a dropdown or other element in the UI?

  • @ronaldo.tbraga
    @ronaldo.tbraga ปีที่แล้ว +2

    When I build for the Oculus Quest, the caret doesn't appear :/

    • @aladinrezgani9003
      @aladinrezgani9003 8 หลายเดือนก่อน

      same , did u fix it ?

    • @daisybakerdev
      @daisybakerdev 8 หลายเดือนก่อน

      @@aladinrezgani9003 I was struggling with the caret for ages too. The .apk is essentially a mobile app sooo you need to treat the input field like a mobile is using it! On the input fields set false for "Onfocus - select all" and "Reset On Deactivation" and then set true for "Hide soft keyboard" and "Hide mobile input". Works perfectly for me now :) Hope this helps!

    • @nuriacarmona1714
      @nuriacarmona1714 7 หลายเดือนก่อน

      same problem here

    • @ronaldo.tbraga
      @ronaldo.tbraga 6 หลายเดือนก่อน

      @@aladinrezgani9003 "No, I still have this bug today :/ The solution I've been using is to use a native keyboard from Oculus Quest. Definitely not the best solution, though.
      Now I'm using the Meta XR All-in-One SDK."

    • @erbersonvieira
      @erbersonvieira 4 หลายเดือนก่อน

      Same problem in Oculus Quest 2

  • @Nicholaswaterboy7
    @Nicholaswaterboy7 ปีที่แล้ว +4

    Let's go

  • @matteomarucci6035
    @matteomarucci6035 ปีที่แล้ว +3

    unfortunately, everything work until you build an android apk, then the caret wont show and it will be always positioned at the beginning of the input field.

    • @daisybakerdev
      @daisybakerdev 8 หลายเดือนก่อน +1

      Same problem here! I can't find a solution. Did you manage to find a solution?

    • @matteomarucci6035
      @matteomarucci6035 8 หลายเดือนก่อน

      @@daisybakerdev try using the keyboard included in the new meta xr package in the block system

    • @daisybakerdev
      @daisybakerdev 8 หลายเดือนก่อน

      @@matteomarucci6035 I've had problems with that one too but I'll give it another go! Cheers for your time.

    • @matteomarucci6035
      @matteomarucci6035 8 หลายเดือนก่อน

      i didnt try that one in an apk tbh, it was just a possible suggestion, keep me updated if you succed! cheers@@daisybakerdev

    • @daisybakerdev
      @daisybakerdev 8 หลายเดือนก่อน +1

      @@matteomarucci6035 Took me all day but I finally fixed it! The .apk is essentially a mobile app sooo you need to treat the input field like a mobile is using it! On the input fields set false for "Onfocus - select all" and "Reset On Deactivation" and then set true for "Hide soft keyboard" and "Hide mobile input". Works perfectly for me now :)

  • @felixrouleau2395
    @felixrouleau2395 8 หลายเดือนก่อน

    Does anyone know if this keyboard can support multiple languages? Or maybe act like a phone keyboard were a longer press on for example the 'e' key would bring up different option for that letter.

  • @OverGamerPT
    @OverGamerPT ปีที่แล้ว

    Can you do it but without the rays just with hand detection !? that would be a good ideia too

    • @Spartinus
      @Spartinus ปีที่แล้ว

      same workflow, in hand traking there is poke interaction that work just the same as the one in the hands with controllers

  • @m.ismail3923
    @m.ismail3923 ปีที่แล้ว

    share ovr controller that you are using

  • @alexpapa6718
    @alexpapa6718 ปีที่แล้ว

    dude i have multiple input fields in my project and this mrtk keyboard only works with one... i tried tweaking the code and making some other custom scripts but in the end nothing works... helppp

    • @Bazingler
      @Bazingler 3 หลายเดือนก่อน

      I have the same problem, but it only happens on android devices for me.

  • @adambardzak
    @adambardzak ปีที่แล้ว

    Hi, how can I make the Enter button work with a "On End Edit" in InputField? It works when I press Enter button on a physical keyboard but not on VR one, thanks.

  • @k4pran
    @k4pran ปีที่แล้ว +1

    I wanted to avoid editing the MRTK source code so you can avoid clearing text by removing the link to the input field before MRTK calls onDisable. Here is the code if it helps anyone
    public class ShowKeyboard : MonoBehaviour
    {
    private TMP_InputField inputField;

    void Start()
    {
    inputField = GetComponent();
    inputField.onSelect.AddListener(_ => OpenKeyboard());
    NonNativeKeyboard.Instance.OnClosed += UnlinkInputField;
    }
    private void OpenKeyboard()
    {
    NonNativeKeyboard.Instance.InputField = inputField;
    NonNativeKeyboard.Instance.PresentKeyboard(inputField.text);
    }
    private void UnlinkInputField(object sender, EventArgs e)
    {
    NonNativeKeyboard.Instance.InputField = null;
    }
    private void OnDestroy()
    {
    NonNativeKeyboard.Instance.OnClosed -= UnlinkInputField;
    }
    }

    • @EKisam3
      @EKisam3 ปีที่แล้ว +1

      I suggest
      void OpenKeyboardForTextInput(TMP_InputField inputField)
      {
      TMP_InputField prev = NonNativeKeyboard.Instance.InputField;
      NonNativeKeyboard.Instance.InputField = inputField;
      NonNativeKeyboard.Instance.PresentKeyboard(inputField.text);
      void UnlinkInputField(object sender, EventArgs e)
      {
      NonNativeKeyboard.Instance.InputField = prev;
      }
      NonNativeKeyboard.Instance.OnClosed += UnlinkInputField;
      //do positioning
      }
      to prevent the null reference error

  • @sarialtsamo2240
    @sarialtsamo2240 ปีที่แล้ว

    maybe the same for htc vive

  • @Activeworker
    @Activeworker ปีที่แล้ว

    enorme ! j’ai trouvé 0 keyboard ou app de traitement de texte sur le store 😏 ! nice accent ;) !!!

  • @lacamel3529
    @lacamel3529 10 หลายเดือนก่อน

    Warum schreibst du die Scripts nie mit rein? Einer schreibt und 1000 kopieren, ist besser als wenn die 1000 von deinem Bildschirm abschreiben müssen. Denk mal darüber nach