Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Easy WiFi Controller- Turn your mobile phone into a controller!

Discussion in 'Assets and Asset Store' started by greggtwep16, Mar 9, 2015.

  1. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    https://www.assetstore.unity3d.com/en/#!/content/31991

    Hi all just wanted to announce my asset called Easy WiFi Controller! As the name implies it will turn your mobile phone/tablet into a game controller. Full Video and description below I hope you enjoy!

    Edit: Asset is now live!





    Description
    Easy WiFi Controller makes using your mobile phone or tablet as a controller a breeze! In the vast majority of cases you don’t have to code anything you can simply drag/drop our client controls and arrange a controller in any layout you wish. Want to utilize the accelerometer or gyro of the phone for a steering wheel or VR limb support? No Problem! With Easy WiFi Controller it’s possible to take any input that your phone supports and utilize it in your game. We utilize WiFi UDP sockets to ensure that linking any phone (or multiple phones) to your game is a snap.

    Supported Uses
    *
    Local multiplayer games on big screens
    * Great for Ouya, Fire Tv, Nexus Player, etc.
    * PC games where you need gyro support
    * Avoid sharing keyboard in local multiplayer
    * Save the cost of buying many controllers
    * Many more!

    Features
    *
    Supports any Android or IOS phone
    * Uses UDP to keep latency low
    * We automate all the network logic for you
    * Flexible Controller layouts
    * Easily integrate to your existing game

    Supported Platforms
    *
    Standalone
    * IOS
    * Android

    Cost
    $35

    Examples Included
    For those that are wondering there are several examples included to help you realize the power of this asset (steering wheel, painting, kitchen sink, UI Navigation, etc.). Full descriptions below.

    * Kitchen sink controls scene (has all example controls on phone dpad, joystick, touchpad, gyro, accelerometer, etc.). This connects to an example server scene to move game objects from your phone!

    * Free form drawing scene (example of the power of custom controls, this turns your phone/tablet into a simple paint app!) draw on your phone and it paints on your PC!

    * Steering wheel scene (example of how this app could be used in a racing game). Turn your phone/tablet into a steering wheel!

    * Connection scene (example of manual connection to choose what player you want to be, think the mobile phone equivalent of when you power on a console controller and it blinks LEDs what player you are) Easy Wifi Controller supports using as many phone/tablets as controllers as you want!

    * Unity UI Navigation scene (example of automatically navigating a Unity UI canvas with buttons and other UI elements) no coding required to navigate your menus with your phone or tablet!

    *Pan/Tilt/Zoom scene (example of using our pinch/zoom touchpad control to move a camera around). No coding required to navigate a free roam camera via Wifi!

    *Dual Stick Zoom scene (example of this very popular control scheme). No coding required!
     
    Last edited: Jun 3, 2015
    Pulov likes this.
  2. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Our asset has just gone live.

    https://www.assetstore.unity3d.com/en/#!/content/31991

    I will be actively supporting this app for a long time to come so if you have something you'd like to see added let me know! Don't forget to leave us a review and if you encounter any issues no matter how small either respond here or send me a support email and I'll fix it ASAP!
     
    Last edited: Apr 13, 2015
  3. auntiejrg

    auntiejrg

    Joined:
    Mar 26, 2015
    Posts:
    7
    First off, like your asset. It was very easy to get it up and running. I am making a trivia game with local mutliplayer so this was a natural fit. I could do all the natural things like make a button for which answer the player selects and send it to my game without issues over WiFi and it was easy.

    I have a question when it comes to the new Unity UI navigation and your product. I realize it wouldn't be that common for secondary players to navigate a main game menu since the first player in my case is the nexus player controller. However, when the second, third, and fourth players connect to my game I do want to let them pause the game and bring up a simple menu and be able to use the Unity UI navigation from the phone. Is this possible with your Dpad or Joystick? Should I use the custom controls?
     
  4. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Thanks for the kind words I appreciate it!

    Edit: below advice is no longer necessary I've added a input module for the Unity UI so no coding is required! Just attach to the Unity UI EventSystem object.

    As far as your question, yes you would use the custom controls. The Unity UI uses the EventSystem class to handle what on the UI is selected and respond to input and navigate accordingly. In the function you set to be called by the custom controller you would simply take the phone's control (dpad, joystick, button, etc) and modify the properties/fields on the EventSystem appropriately.

    This is probably pretty common though so I think I'll create another set of server controls (UIButtonServerController, UIDpadServerController, etc) in the next update so that this use case is handled for automatic navigation in the Unity UI without needing to code anything. I'll try and get this submitted in the next few days and hopefully approved within 2 weeks.
     
    Last edited: Apr 3, 2015
  5. auntiejrg

    auntiejrg

    Joined:
    Mar 26, 2015
    Posts:
    7
    That would be wonderful! So far I find your product easy to use on my wifi, I had some friends over and tested 6 devices at once and it worked great!

    In the meantime I was able to get it to work with the custom button and custom joystick thanks for the information it wasn't that hard to code for what I needed. I'll certainly grab your update when it's available since doing it automatically without having to code anything would be great, like you already have for moving/rotating objects around.
     
  6. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Glad you got it working. The update should be ready shortly.
     
  7. Abelabumba

    Abelabumba

    Joined:
    Jan 14, 2015
    Posts:
    45
    Can the buttons etc on the phone be animated / reactive too, basically using the phone as a 2nd screen with a controller on top? Probably not, I guess. If not, can the phone part at least be "static animated" e.g. the buttons change color when tapped? Multitouch surely works, right?
     
  8. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    EDIT: a back channel is now built into Easy WiFi Controller and all of these questions are possible.

    The controls can certainly be animated. Our buttons and joysticks already are and if your UI style warrants you obviously can animate the other controls (dpad, touchpad, etc). As far as can the phone be a second screen, yes but it would require some customization for the game in question. Animations and other visual feedback that is self contained on the easy wifi controller are all possible and easy to do.

    Going beyond (i.e. screen mirroring) is possible but does require a secondary flow of information from the game back to the controller that you setup specific to your game. This framework is currently built into Easy WiFi Controller. Off the top of my head, if you wanted a true screen mirror you'd have to communicate all the object data you need (position, properties, etc.) back to the controller. That amount of data if it gets too large might be a bit unwieldy (ideally this data should be kept under 512 bytes if you have more than one player). A more common example is if you had a racing game and you just wanted to communicate back your current speed so that you could have a nice speedometer animated on the controller that certainly wouldn't be a problem. An example of how to do this is now included.


    Yes, the prebuilt buttons already do this. If your game has a certain look and feel and you swap your own graphics yes you can animate them, switch sprites, or whatever suits your game best. The last two minutes of the youtube video (the live demo) do show the prebuilt buttons changing colors when pressed.

    Yep, multitouch works fine. Our kitchensink example scene shows this. All the controls are self contained for detecting their own touches so yes two joysticks or whatever combination you want works great in multitouch.
     
    Last edited: Jun 3, 2015
  9. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Easy WiFi Controller v1.1 has been submitted for review on the asset store hopefully to be approved soon. Release notes below

    Edit: v1.1 is now live on the asset store

    Version 1.1

    New Features
    -Unity UI Navigation automatically
    -Custom Input Module created
    -Added a fifth example scene
    -Documentation update

    Bugfixes
    -Fixed accelerometer/gyro when sending very small values
    -Fixed local position and local rotation changes when there is no parent
    -Fixed log verbose setting for finer grain control of logging

    @auntiejrg
    It has the automatic Unity UI navigation that you wanted. If you want the update right now (approval usually takes 1-2 weeks) just email our support email address with your invoice and I can mail it to you.
     
    Last edited: Apr 3, 2015
  10. auntiejrg

    auntiejrg

    Joined:
    Mar 26, 2015
    Posts:
    7
    I have sent you a mail with my invoice, would love to get the update early.
     
  11. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    @auntiejrg I received your mail and have sent you the updated package. Certainly let me know if it has the functionality you wanted. The UiNavigation scene gives an example of how to use it with the new Unity UI system.
     
  12. auntiejrg

    auntiejrg

    Joined:
    Mar 26, 2015
    Posts:
    7
    Your Easy WiFi Input Module works much better than the custom controller I wrote. It seems to work with any buttons, toggles, or any of the Unity UI elements automatically. For bringing up my pause menu I had no issues.

    When I have multiple phone controllers all connected to the game can I "share" the Unity UI so that any of the players can pause/unpause the game?
     
  13. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Yes with the UI navigation Input module (and actually any of our server controls) you can always attach more than one player to an object. The inspector we provide has a field for which player will respond. If you want Player 1 and Player 2 (first phone and second phone) to be able to pause and navigate your menu you can place two of the input modules on the event system one for player 1 and the other for player two (just like in Unity's examples if they want to support both standalone and touch you attach one of each). Both players will then fire the Unity UI events on your menu.

    In general this applies to any of our objects and would also apply if for instance you had a two stick FPS game. The left stick usually moves the player and the right stick rotates the player (but they operate on the same gameobject). In that example you would just attach two standard joystick server controls to the object one for local position update and the other for local rotation and you're done. No coding required!

    Our controls are self contained on both the client and server side you can certainly always place more than one on the same object if you wanted to do more things.
     
  14. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    @Abelabumba I got another request for the multidirectional back channel back to the controller on twitter today. I can definitely see a couple of use cases for this now so I will certainly build in a generic way to do this. I hope to have it complete by the end of the week (which means approved in 2-3 weeks).
     
  15. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    V1.1 Just went live on the asset store, so certainly grab it for automatic Unity UI navigation and other bugfixes. One thing I forgot to add to the release notes is I added the ability on the standard controllers to also Invert the axis (example if you are making a flying game and want pulling down the joystick to make the plane fly up). You can also specify to ignore one of the axis if you wanted to be able move left/right but not up/down or vice versa.

    An ETA on v1.2 (backchannel data) I still should be able to submit this feature for review by Tuesday April 7th (meaning live in 1-2 weeks). I'm going to upgrade the steering wheel example to report back speed to the controller to animate a speedometer. It is fully generic though you can report back whatever makes sense for your game to give your controller a nice UI.
     
    Last edited: Apr 4, 2015
  16. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    v1.2 (backchannel data) has been submitted for approval (should be live in 1-2 weeks). If anyone would like to get the update early just send me a mail at the support email address and attach your invoice.

    As previously mentioned the backchannel allows you to report data back to your controller (opposite flow as normal) so that you can animate your controller UI in the style that fits your game. I have updated the steering wheel example with an animated speedometer to demo how this is accomplished.

    Enjoy! As always any questions/comments/addition requests just let me know.
     
    Last edited: Apr 13, 2015
  17. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    V1.2 (backchannel data) just went live on the asset store. Thanks for the speedy approval Unity!

    Be sure to grab the latest if you want to be able to provide this backchannel data back to the controller. In this way the possibility of animations, gauges, etc. are endless and can be modified to fit your game style.
     
  18. Cascho01

    Cascho01

    Joined:
    Mar 19, 2010
    Posts:
    1,347
    Does it support Touch Position of multiple touches, e.g for calculating a pinch zoom gesture?
     
  19. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Edit: We have now added a Pinch/Zoom touchpad control that makes creating a free roaming camera easy with no coding required.

    The default controls we provide for you to easily drag/drop are joystick, dpad, button, switch, touchpad, gyro, and accelerometer. They all support multitouch (example two joysticks controlling at the same time with multitouch).

    When you mention pinch/zoom though none of these really fit the 7 controls I mentioned (possibly a touchpad area but even that is probably not what you have in mind).

    Can you expand on the usecase for the game type you're thinking of and I can certainly build another drag/drop easy control type to fit your need if it's something that can be used in certain common gametypes. Are you envisioning a map type system on the controller? Or a custom camera type control for zooming in your game camera?
     
    Last edited: Jun 3, 2015
  20. Cascho01

    Cascho01

    Joined:
    Mar 19, 2010
    Posts:
    1,347
    Well, I would like to transfer Touch Input Data provided by Unitys Touch Class.
     
  21. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Edit: Pinch/Zoom touchpad control is now included.

    All the current controls certainly operate on that API. Are you saying you'd like the entire raw API transferred over WiFi?

    In general all our controls power comes from simplifying and encapsulating objects that make more sense for games. A joystick is well defined as to what it does rather than looping through input.touches to manually detect this yourself. It also has a nice side effect to keep packet size low actually transmitting less data making it faster.

    Would you really rather have the raw API or a pinch/zoom control that could keep track of zoom factor and multiple touches? Self contained controls also let you place more than one and for different purposes. It also lets you interact at a higher level which is more friendly to interact with.

    Can you expand on the functional usecase on what you want to accomplish in your game. Are you zooming/panning a map?
     
    Last edited: Jun 3, 2015
  22. Cascho01

    Cascho01

    Joined:
    Mar 19, 2010
    Posts:
    1,347
    I should buy your product and see if I´ll come along with the features you provide..
    No, I use the zoom gesture to zoom an Orbitcamera. I make ArchVis and would like to use a phone as a complete remote control for controling the complete interface (example) .
     
    Last edited: Apr 9, 2015
  23. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Edit: Pinch/Zoom touchpad control is now included in the package.

    I always appreciate more customers but in general there is nothing wrong with making sure that this tool is useful to your needs before you buy.

    In general right now there no control that handles the usecase of zooming in a pinch manner which is why I'm trying to ascertain your usecase. Right now the closest functional control would be our custom joystick server control which could with some coding introduce zooming on your orbit camera.

    However, I can see the use of a zoom/pan control and I certainly can create one. The properties I envision being needed inside this control is support for two simultaneous touches and keeping track of a zoomfactor. The control can be fullscreen or not and you could certainly place more than one on your full controller along with other controls like buttons, dpads, etc.

    Does this sound like it would fit your needs?


    I should be able to create this control and push an update with an example within a week (meaning live on the store in 2 weeks). I just want to make sure that I'm not missing other functionality that you might need before creating it.
     
    Last edited: Jun 3, 2015
  24. Cascho01

    Cascho01

    Joined:
    Mar 19, 2010
    Posts:
    1,347
    This all sounds nice to me.
    The viewing direction of my orbitcam is controlled by draging the mouse while leftmouse button held down.
    Could this be simulated and transfered, too?
     
  25. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    When you are also mentioning viewing direction the full usecase makes sense to me now. I believe what you want is something similar to the editor camera or the camera on any other 3d modelling application (blender, maya, etc).

    This I believe would encapsulate everything you need. Look it over

    proposed pan/tilt/zoom touchpad

    Supports zero, one, or two touches per instance (you can certainly have more than one drag/drop on your controller) and exposes these properties (properties are useful in our custom server controllers where you can modify behaviour if you want to do some coding for full control). Most of the time you'd use our standard controller which needs no coding and doesn't need to interact with our properties and does default behaviour. But sometimes you want full control as a programmer so below are proposed properties.
    • numTouches (int)
    • touch1PositionHorizontal (float) (normalized)
    • touch1PositionVertical (float) (normalized)
    • touch2PositionHorizontal (float) normalized)
    • touch2PositionVertical (float) (normalized)
    • zoomFactor (float)
    UI would be similar to current touchpad (which looks like a computer's trackpad)

    Input interface and mapping on standard controller
    pan- panning on mouse is drag over area while left click. On touch it is a single touch drag
    tilt- tilt on mouse is drag over area while having cntl or middle mouse button down. On touch it is a two touch drag.
    zoom- zoom on mouse is the mouse wheel. On touch it is a pinch gesture or reverse pinch gestures

    This should cover all the common things I can think of does this cover your usecase?
     
    Last edited: Apr 13, 2015
  26. Cascho01

    Cascho01

    Joined:
    Mar 19, 2010
    Posts:
    1,347
    Yes, this sounds very promising to me. :)
     
  27. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    I'll start creating the control then I should be able to submit it mid next week (goal Wednesday the 15th) which means it should be live on the store within two weeks.
     
  28. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    @Cascho01 Just a quick update on this, I'm just about finished and still on target to submit it on Wednesday the 15th (tomorrow).

    Implementation of this was interesting and for the most part the API mentioned above worked fine (the enum ended up not being necessary). There is one bit of the input interface that did not work out on all test hardware as expected.

    Prior assumption
    tilt- tilt on mouse is drag over area while having cntl or middle mouse button down. On touch it is a two touch drag.

    Current implementation
    tilt- tilt on mouse is drag over area while having cntl or middle mouse button down. On touch it is a three touch drag.

    It turns out that when separate finger touches get too close together most hardware will not distinguish it as separate touches. Some phones/tablets do better than others but many get it wrong. Having any gesture where your fingers are close together doesn't work on most hardware. I knew going in having two separate gestures using two touches (zoom and tilt) was going to need to factor in the distance between the two touches to interpret the gesture. When I couldn't rely upon tilt having the fingers together it made reliably telling the two apart not possible.

    Instead tilt is now a 3 finger drag (actually 3 or more you can use four or five if you want) and zoom will be the 2 finger pinch/zoom. This in testing works out fine, with the caveat still that on most hardware you don't ever want to have your fingers together and certainly not touching if you want it to register the separate touches.

    The standard controller will just work as described with no coding necessary. Custom controllers just like our other controllers are certainly possible to code if you want full control. I'll post back when it's submitted for review.
     
  29. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    V1.3 has now been submitted for review on the asset store (means should pass review and go live in about a week). Release notes below. As always if you want this update early just e-mail the support address and attach your invoice and we'll mail it to you.

    Version 1.3

    New Features
    -New control (Pinch/Zoom Touchpad)
    -new example Pan/Tilt/Zoom scene that showcases multitouch camera control

    Bugfixes
    -controllertype fields are now strongly typed (if you previously had written a custom controller you used to need to write value conversion from string). This is no longer necessary and can be removed to make your custom controller simpler.

    @Cascho01 this update contains the controls we've discussed.
     
    Last edited: Apr 16, 2015
    SAOTA likes this.
  30. Cascho01

    Cascho01

    Joined:
    Mar 19, 2010
    Posts:
    1,347
  31. Pulov

    Pulov

    Joined:
    Feb 20, 2010
    Posts:
    824
    Pretty dam cool, bookmarked.
     
  32. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    V1.3 just went live on the asset store. Thanks for the speedy review Unity. Release notes a few posts above.
     
  33. benithomp

    benithomp

    Joined:
    Apr 17, 2015
    Posts:
    2
    I bought your asset and am liking all the possibilities this creates. I have always liked local multiplayer but PCs and mobile phones lend themselves better to either a solo experience or if multiplayer it having to be online. I do miss the N64 days though where local multiplayer was great. I can think of numerous game possibilities that this might help to bridge the gap either on PC or microconsoles like the android tv or apple tv if apple ever allows 3rd party apps on it.

    Your latest example with the pinch/zoom touchpad moving the camera around works great for me. The idea I'm currently playing around with would be better suited to a virtual joystick though can I control a camera via joystick instead? Ideally, something like a standard two stick FPS type controller.
     
  34. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Yes this is possible no problem (coding isn't required for this either but if you want to take full control you can certainly code something custom). Without knowing your case I'll explain how you would do a typical dual virtual stick fps without coding.

    Joystick1- generally this moves the character via local position (not world position). You'd set the standard joystick server controller for joystick 1 to "local position" on the root object of your character and in the inspector and set the horizontal axis to "x axis" and the vertical axis to "z axis". That's all there is to the left (move) joystick.

    Joystick2- generally this makes the character look around. When you think of a typical humanoid in a game this usually means two things though. Left/Right should locally rotate the character around and up and down should only locally rotate the head. Since these are usually separate objects (the head is usually the main camera which is a child of a part of your character) you would just attach a standard joystick server controller to both objects both with the string set to "Joystick2" for mapping to your right stick. The root of character would be set to "local rotation" and the inspector horizontal set to y axis and vertical set to "none". The main camera's (the head) inspector would also be set to "local rotation" but its horizontal set to "none" and its vertical set to x-axis. That's all there is to the right (look) joystick.

    This is your typical two stick setup without needing to code anything. Just attach those pre-made scripts and set the inspector accordingly and your done. Hope this helped!
     
  35. benithomp

    benithomp

    Joined:
    Apr 17, 2015
    Posts:
    2
    Wow, that was easier than I expected. Works great, thanks!
     
  36. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    No problem glad I could help.
     
  37. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    V1.4 just went live on the asset store. Change Log below.

    Version 1.4

    Changes
    -Updated steering wheel example to show a racing game style UI (brake and gas pedal buttons)
    -Updated Painting example scene
    -Updated documentation
     
  38. KarelA

    KarelA

    Joined:
    Dec 30, 2008
    Posts:
    422
    Hello.
    Question about EasyTouch. I already have a working camera orbit system built with an EasyTouch. Pinch, zoom, camera inertia and clamping already works perfectly there. Is there a way to use them both together? EasyTouch handles all the interaction code and EasyWifi just sends the data?
     
  39. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    I happened to have used easy touch in a past project so I'm familiar with it. It is certainly possible to do this if you want to combine easy touch with our asset easy wifi controller, although like always when you merge two assets together there would be some integration coding required.

    Easy touch has gone through some pretty big changes with 3.x to 4.x and also each easy touch control type behaves differently so let me know which you are using but yes it is certainly possible to do this.

    In general regardless of which UI library you prefer or are already using (easy touch, finger gestures, etc) you would use that library on your phone controller and map it to our network classes. The server side would then use our server controls like normal. For easy touch specifically you usually specify a function event handler for things like touch_start or others. You would map it to easy wifi's network object (ie easy touch joystick to easy wifi joystick).

    You also mentioned a few more advanced items also like clamping and inertia which aren't by default included in our standard server controls (because while this makes sense for a camera it doesn't always for other game objects). For this I assume you already have code in easy touch methods for manipulating your camera and this logic should get moved to a custom server side controller (basically this is what we refer to when you take full control in coding on the server side instead of the usual no coding required functionality we give you).

    Basically, merging the assets is possible but will require some coding for your use case. In general this is because the input is happening on one device and the actions on another. Where when you use a typical UI library both parts happen local. We certainly have our own UI library so normally you don't have to deal with any of those concerns but swapping in a different one does require some integration.

    If you post more details I can certainly provide more information.

    Also, if the reason for using another UI library is anything other than you have existing code certainly let me know what you liked better about the other asset and I will do my best to improve ours.
     
    Last edited: May 3, 2015
  40. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    If the mapping of easy touch control to our network objects, or moving the clamping/inertia logic to the server side sounds daunting (depending on use case that should be all that's required) certainly send me a snippet of what you have currently and I'll do my best to provide you with the code that you would need in your project. It shouldn't be that much work to do.
     
    Last edited: May 3, 2015
  41. KarelA

    KarelA

    Joined:
    Dec 30, 2008
    Posts:
    422
    I am trying to figure out which way would be easier for me. Trying to merge two together or rewriting the input with your UI library. Right now i think i am going to go with the second option. :)
     
  42. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    That should be the easier route to go with. In general while the two libraries core methods operate very differently (obviously one operates over the network and the other is local) for the most part a joystick is a joystick and a touchpad is a touchpad. Those UI elements are pretty well defined and if you had some custom code for clamping or inertia or anything else in a function it essentially will just get called from a different place but should still work the same.

    If you have any issues/comments don't hesitate to either post here or drop us a mail to our listed support address. We're always looking to improve our asset.
     
    Last edited: May 3, 2015
  43. KarelA

    KarelA

    Joined:
    Dec 30, 2008
    Posts:
    422
    Will do.

    Thanks for the quick replies.
     
  44. thoth3x

    thoth3x

    Joined:
    Feb 3, 2014
    Posts:
    2
    Hello!

    I wrote you trough you contact form in your web site but maybe you didn't receive the message.. ?

    I have a question.. but first let me explain what I'm building.

    The "game" is very simple - there is a 3d terrain with some point of interest on it, also there is an interface with some buttons. Every button correspond to particular point of interest on the terrain - when you click/tap the button the camera goes close to the point. The terrain will be on one big screen and the interface will be on a separate touchscreen monitor.

    The problem is that both screens are connected on the same computer. Is there a possibility to use Easy WiFi Controller on one device?
    I read the documentation and saw that there is something to do with the ports but I'm not quiet sure how to do it and I couldn't find tutorial or example..

    Thanks!
     
  45. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    No I didn't receive an email through the contact form on my website, which is odd. I'll send a few test messages through myself thanks for the heads up and sorry it didn't work.

    Edit: contact us form was indeed broken. It has now been fixed. I really appreciate the heads up.

    It is possible to run both the controller app and the game app from the same machine. When developing EWC this is how I tested our mouse controls and each of the examples can be run this way if desired. Easy Wifi Controller's default settings should just work out of the box with this but there are certainly a couple of things to check. Also, when doing this it's naturally recommended that they both be windowed apps so that they can be side by side. This isn't required but it's a lot easier than switching back and forth (or since you mentioned dual monitors make sure they are on seperate monitors and both running). Below, based on what you described I'm assuming you have two projects which I'm labeling "TerrainGame" and "ButtonController" for clarity.

    1. Ensure the EasyWifiManager's in Both projects that the server (TerrainGame) and client (ButtonController) that list the port numbers match eachothers projects and that server port number does not equal client port number (this is only required when you are running both projects on the same machine but is also the default settings so unless changed it should be fine).
    2. If on windows as well when you first run the application you're going to get a windows firewall popup because its opening a socket to the other app. Make sure you allow the app to do this.
    3. Naturally in ButtonController you should have created several Buttons and set their client strings to the name that you want to give them that is unique.
    4. In TerrainGame you mentioned that you wanted to move the camera when the button's are clicked so attach to the camera a CustomButtonServerController script and match the string to what you called them in the client scene (ButtonController). It seems like you will have multiple buttons so attach one CustomButtonServerController in the inspector for each button. It also sounds like this second monitor is the only "player" so set the inspector values all to "player 1"

    If you are encountering specific issues certainly let me know what they are. If you post more details I can certainly post a more detailed response. You can also send me the TerrainGame and ButtonController projects if you want me to take a look at them.
     
    Last edited: May 18, 2015
  46. thoth3x

    thoth3x

    Joined:
    Feb 3, 2014
    Posts:
    2
    Thank you very much for the replay!

    This sounds like exactly what I need! I'll try it right away and let you know :)
     
  47. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    No problem. If you have any other questions or issues don't hesitate to ask.
     
  48. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Version 1.5 just went live on the asset store! It has various feature additions from requests I've gotten over the last few weeks. Release notes below:

    New Features
    • 2 New controls (Horizontal Slider and Vertical Slider)
    • new example Dual stick scene that showcases the common dual analog stick control scheme
    • documentation update
    Bugfixes
    • various minor bugfixes

    As always if you you have any questions/comments or would like to request something feel free to respond in this thread or contact our support email address.
     
  49. PerfectlyInsane

    PerfectlyInsane

    Joined:
    Aug 9, 2013
    Posts:
    74
    Will this work with unity 4.6.

    I'm currently using Bluetooth networking on Android, and just implemented Unity Master Server. Dropped in some random Master Server code and Multiplayer via Master Server works throughout my game without any changes.

    Would be useful if I could do without the Master Server.
     
  50. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Easy Wifi Controller currently requires Unity 5.0 or above.
     
    Last edited: Sep 19, 2015