I’m working on a fighting game in Unity, which has to be able to take input from keyboards and joysticks. In these kinds of games, the input timing has to be very precise: inputs must be updated on a consistent schedule of 60 frames per second, even if the actual graphics run much slower than that. Unity’s built-in input system appears to only update itself once per graphical frame, in Unity’s Update() loop. (according to Unity - Scripting API: Input)
This can go much slower than 60 frames per second, so it seems I have to either use a thread to call an external library that gets input, or guarantee that Update() runs at 60 frames per second by limiting the graphical complexity. I’m not willing to limit the graphical complexity.
Here are my questions:
1: Is my above analysis correct – Is there any built-in way to get realtime inputs in Unity even when the graphics lag?
2: Is it possible to get realtime inputs AT ALL in the Unity web player? According to this post http://forum.unity3d.com/viewtopic.php?p=264040#264040 in the web player I can’t bring in external code that calls anything outside of Unity or Mono. I can’t find any way to do input from joysticks in Mono; it seems like I have to use something like DirectInput or SDL. Is this correct?
3: Do I really need Unity Pro to use something like DirectInput or SDL?
Thank you