Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. 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. Evershifting

    Evershifting

    Joined:
    Jul 28, 2015
    Posts:
    3
    Hello!

    Could this this asset be used to prevent Input PopUps appearing on FireTV? So when user chooses to activate InputField keyboard get activated on their phone instead of on the screen of their TV?
     
  2. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    No EWC wouldn't prevent anything from happening on either end. You would have to not use the input field and use a label instead with a string forward channel, modifying the value of the label depending on the input from the phone.
     
  3. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,449
    Can you make this work in the editor when I press play ?

    I want to test my mobile game that uses the phone accelerator in the editor to increase iteration times
     
  4. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    For any EWC controls you use it works just fine in editor. If you're just talking using normal unity single player input then unity made unity remote for that reason.
     
  5. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,449
    Thanks,
    Good to know EWC controls work in the editor
    I don't use unity remote anymore, it requires using a usb cable, thats so inconvenient.
     
  6. Glopper

    Glopper

    Joined:
    Jan 12, 2019
    Posts:
    1
    Hi,

    I created a game of quiz to be played in public places (like a bar for instance) where people can join the game before it starts. My first version is WPF with multiple keyboards connected, but I switched to Unity for graphic environment purposes. So, if I get this package, my questions are :
    - Will I have to setup my own WiFi network when I prepare the game session in a public place or does the package can act as a server ?
    - Do players have to install something on their mobile ?
    - Can people have a keyboard as a controller to enter a name or at least a numeric keypad to press their answer (for each step of the quiz, it's six options available) ?

    Thanks by advance.
     
  7. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Answers to your questions below.

    1. All devices need to be on the same network. It can be a public space but they do need to be on the same network. That being said if you mean like a hotel or restaurant wifi, be aware that most of the public software where you agree to terms and then get on the network is also paired with commercial type routers that block things like broadcasts which would make EWC not work. It isn't the public nature of the network that is the issue but rather the software that is usually used that blocks certain types of traffic.

    2. EWC uses Unity on both ends so yes any mobiles would need to install your Unity app.

    3. Any peripheral that Unity supports can be used, keyboard or otherwise. You'd have to use EWC's data controls to send the string for your input field to the server.
     
  8. jackvob1

    jackvob1

    Joined:
    Mar 2, 2018
    Posts:
    38
    Hello
    first of all your asset is awesome I used it once for a project but now I have another one and I like to know is it possible to use it pc apps with pc apps ?

    Sry for this newbie question
     
  9. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Yes any combination of the supported platforms listed on the product page will work. PC with other PC's will work just fine.
     
    jackvob1 likes this.
  10. jackvob1

    jackvob1

    Joined:
    Mar 2, 2018
    Posts:
    38
    thanks for the information, how about 1 pc run 2 apps at the same time it should be the same right?
     
  11. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Because I use a separate sending and receiving port you can do 2 on the same PC but not more than 2.
     
  12. jeffmun

    jeffmun

    Joined:
    Jun 28, 2012
    Posts:
    10
    Hi,
    Thanks for EWC! It will be great. I have the Kitchen Sink and PanTiltZoom working on my PC, but I get no response from an Android Build I send to my Samsung Note 8. I'm new to deploying to Android but have in the past made a little Unity app that uses sockets (but hard coded to a specific IP) and successfully connected to a PC unity app acting as the server.

    From the phone, when I launch the client, it connects, but the IP address listed is 10.8.0.1 but when I look at the settings on the hotspot (a Verizon ellipsis JetPack device), the phone has a local 192,168.1.11 IP (which I can ping from the PC) and the PC has 192,168.1.10. I haven't found any settings on my phone or the hotspot that says to mask the IP. I've also allowed the default ports (2015, 2016, UDP) on the hotspot under the port forwarding settings. I get no response if I ping 10.8.0.1 from the PC. The phone correctly displays the 192.168.1.11 IP. Security protocol id WPA2 PSK on the hotspot.

    What tools can I use to monitor the network traffic on the Android device? Any other advice about debugging from Android?

    Thx!
     
  13. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    If you look at the logs on the phone when running the app does it also list 10.8.0.1 or does it say 192.168.1.11? Depending on which Unity is reporting will make the troubleshooting different. For android devices the easiest is usually to use logcat.
     
  14. jeffmun

    jeffmun

    Joined:
    Jun 28, 2012
    Posts:
    10
    When I run Android Device Monitor, when running the client on the phone, here is the section immediately following the first rows with a "Unity" tag:

    04-17 13:30:13.745: I/Unity(6743): Client_Log:Sending out client broadcast...
    04-17 13:30:13.745: I/Unity(6743):
    04-17 13:30:13.745: I/Unity(6743): (Filename: ./Runtime/Export/Debug.bindings.h Line: 45)
    04-17 13:30:13.822: I/PackageManager(1541): getSalesCode : VZW
    04-17 13:30:13.825: D/KeyguardUpdateMonitor(2353): received broadcast android.intent.action.PACKAGE_CHANGED
    04-17 13:30:13.826: D/UcmService(1541): onReceive android.intent.action.PACKAGE_CHANGED
    04-17 13:30:13.826: D/UcmService(1541): Package update in userId-0 and uid-1000
    04-17 13:30:13.826: D/MetadataParser(2353): onPackageUpdated() key = com.android.settings
    04-17 13:30:13.831: D/API test(2353): getContainerInfo: value is
    04-17 13:30:13.831: D/UcmService(1541): isUCMPlugin pkgName-com.android.keychain
    04-17 13:30:13.833: D/UcmService(1541): enforcePermission : com.android.keychain
    04-17 13:30:13.836: D/RegisteredServicesCache(2609): invalidate#1, attribute#1
    04-17 13:30:13.837: D/RoutingNotificationHelper(2609): set : (( 2609true , false)
    04-17 13:30:13.837: D/RegisteredServicesCache(2609): invalidateCache
    04-17 13:30:13.839: D/UcmService(1541): KNOX_UCM_PLUGIN_PERMISSION is granted
    04-17 13:30:13.839: D/UcmService(1541): isUCMPlugin match found....
    04-17 13:30:13.839: D/UcmService(1541): *****refreshAgentList userId-0 is called***
    04-17 13:30:13.839: D/UcmService(1541): resolveAllowedAgents for user 0
    04-17 13:30:13.838: I/SpayFw_SpayProcessStatusChangeMonitor(14240): PackageChangedReceiver action = android.intent.action.PACKAGE_CHANGED
    04-17 13:30:13.839: D/UcmService(1541): found com.samsung.ucs.agent.boot
    04-17 13:30:13.839: D/UcmService(1541): resolveAllowedAgentsLegacy for user 0
    04-17 13:30:13.839: D/UcmService(1541): found com.sec.smartcard.manager
    04-17 13:30:13.839: D/UcmService(1541): mPersistentServices size is 0
    04-17 13:30:13.841: I/SpayFw_SpayProcessStatusChangeMonitor(14240): ensureHomePackagesLoaded - isHomePackageEmpty : true
    04-17 13:30:13.843: D/UcmService(1541): -------Processing started for agentPackageName----- -com.samsung.ucs.agent.boot
    04-17 13:30:13.843: D/UcmService(1541): agentPackageName -com.samsung.ucs.agent.boot is an active plugin
    04-17 13:30:13.843: D/UcmService(1541): Check if caller has UCS Plugin permission...
    04-17 13:30:13.843: D/UcmService(1541): enforcePermission : com.samsung.ucs.agent.boot
    04-17 13:30:13.845: W/ActivityManager(1541): Permission Denial: Accessing service ComponentInfo{com.google.android.music/com.google.android.music.dial.DialMediaRouteProviderService} from pid=12331, uid=10154 that is not exported from uid 10217
    04-17 13:30:13.845: D/RecentsAppListLoader(2353): getFrequentlyUsedAppCount - count=2
    04-17 13:30:13.848: D/UcmService(1541): KNOX_UCM_PLUGIN_PERMISSION is granted
    04-17 13:30:13.848: D/UcmService(1541): Agent has UCS PLUGIN permission. Processing further...
    04-17 13:30:13.848: D/UcmService(1541): agentPackageName com.samsung.ucs.agent.boot is system storage. Checking system signature
    04-17 13:30:13.850: D/API test(2353): getContainerInfo: value is
    04-17 13:30:13.850: D/CategoryManager(6168): reloadAllCategories( : false
    04-17 13:30:13.851: D/UcmService(1541): Signature match
    04-17 13:30:13.851: D/UcmService(1541): Valid system storage found is com.samsung.ucs.agent.boot
    04-17 13:30:13.851: D/UcmService(1541): UCM ODE is not enabled
    04-17 13:30:13.851: D/UcmService(1541): existUCMKeyguardProp
    04-17 13:30:13.852: D/UcmService(1541): Do not need to bind boot plugin service
    04-17 13:30:13.853: D/UcmService(1541): mPersistentServices size is 0
    04-17 13:30:13.853: D/UcmService(1541): -------Processing started for agentPackageName----- -com.sec.smartcard.manager
    04-17 13:30:13.853: D/UcmService(1541): agentPackageName -com.sec.smartcard.manager is an active plugin
    04-17 13:30:13.853: D/UcmService(1541): Check if caller has UCS Plugin permission...
    04-17 13:30:13.853: D/UcmService(1541): enforcePermission : com.sec.smartcard.manager
    04-17 13:30:13.854: D/UcmService(1541): KNOX_UCM_PLUGIN_PERMISSION_LEGACY is granted
    04-17 13:30:13.854: D/UcmService(1541): Agent has UCS PLUGIN permission. Processing further...
    04-17 13:30:13.854: W/ActivityManager(1541): Permission Denial: Accessing service ComponentInfo{com.steadfastinnovation.android.projectpapyrus/com.steadfastinnovation.mediarouter.provider.SecondaryDisplayMediaRouteProviderService} from pid=12331, uid=10154 that is not exported from uid 10401
    04-17 13:30:13.856: D/UcmService(1541): PCSC Service doesn't exist. Ignore binidng to old Bai plugin...
    04-17 13:30:13.857: W/ResourceType(1541): ResTable_typeSpec entry count inconsistent: given 30, previously 38
    04-17 13:30:13.858: I/InputReader(1541): Reconfiguring input devices. changes=0x00000010
    04-17 13:30:13.859: D/ApduServiceInfo(2609): seId: 0
    04-17 13:30:13.861: D/RecentsAppListLoader(2353): getFrequentlyUsedAppCount - count=2
    04-17 13:30:13.863: D/UcmService(1541): readPersistentServicesLocked is called...
    04-17 13:30:13.867: D/ApduServiceInfo(2609): seId: 0


    I included all these lines, because there are a couple "Permission Denial" entries soon after this Unity output and I wondered if that is related. I don't find any LogCat output that has the "10.8.0.1" IP in the text. The first row from in the Unity Console from the client is
    "Recieved Client Broadcast... Client_Broadcast:10.8.0.1"
    , then when I launch a client on the same Windows PC as the Unity Editor while it's still running, I get the expected
    "Recieved Client Broadcast... Client_Broadcast:192.168.1.10"
    and the Windows client operates fine.

    Anything else I should look for?

    Thanks
     
  15. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    The line from the console received client broadcast tells me the same info as logcat would have on the phone. The phone is telling the server it's IP is 10.8.0.1. I assume that's it's public IP, are you sure it's actually on the local area network from the router? What happens if you turn off the cell data and only have wifi, does that change anything? This is really weird.
     
  16. jeffmun

    jeffmun

    Joined:
    Jun 28, 2012
    Posts:
    10
    Well, I tried it on a Verizon Android tablet I had (Android version 4.2.2) and all the KitchenSink controls work, even the gyro! (Which is fabulous because I am building a lightsaber game with the Kinect to help a friend's daughter with her physical therapy trying to regain a normal standing/walking posture. I want the Easy WiFi Controller for the gyro sync to properly orient the lightsaber in the player's hand). This tablet also has cell service, but I'm not currently paying for a data plan, so it's on airplane mode.

    As far as the Samsung Note 8, no difference when it's on airplane mode. If I hardcode the IP
    myIPAddress = "192.168.1.11"; // getNetworkIPAddress();
    then it works on the Note 8. I don't know how to debug the getNetworkIPAddress method while it's running on the phone, but that seems like the next place to go. I'd welcome any feedback, but at least for now by hardcoding the IP, or using the tablet, I can keep going. Thanks!
     
  17. adamz

    adamz

    Joined:
    Jul 18, 2007
    Posts:
    1,192
    @greggtwep16

    Looks great. A few questions before I purchase...

    Does this work with the latest version of Unity (2019.1.xx)?
    Do I have to use the phone as a controller, or can I only use it for the accelerometer and/or gyro? Say I wanted the player to use a keyboard and mouse; and when the player grabs an object such as a beer can with his/her mouse, I would like the player to be able to shake it using their phone and show the motion and rotation.

    Thanks.
     
  18. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Yes it works on latest Unity.

    For the second question it depends on what you mean. Most of what you describe is possible, but I do want to set your expectations on using it for "motion". Rotation/orientation is fine, but if by motion you mean positional tracking then no this isn't practical with the couple of sensors a phone has. Accel/gyro/magnometer just isn't enough to do that accurately.
     
  19. louiseclakey

    louiseclakey

    Joined:
    Jun 5, 2018
    Posts:
    8
    Hello,

    I've been trying to change the color of an object using two different buttons. (eg. button1 changes the object to blue and button2 changes the object to green) I am currently able to change the color of the object with 1 button using the ChangeColor script but the 2nd button does nothing.
    I've attached the 2nd button to a ChangeColorTwo script (which i have verified works) and it has the correct name under the 'Control' field for each button so I'm not sure why the 2nd button isn't working.

    Is there something obvious I'm missing here?
     
  20. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Can you post a screenshot of both inspectors and the logs from a session where this happens. I can certainly investigate then.
     
  21. louiseclakey

    louiseclakey

    Joined:
    Jun 5, 2018
    Posts:
    8
    Hi, thanks for the reply.

    I've attached the screenshots and logs.

    Currently only Switch1 works, however if i disable the Switch1 server controller then Switch2 works fine.
     

    Attached Files:

  22. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Screenshots look fine. Can you send the logfile again but this time with "log verbose" checked on Easy Wifi manager on both sides? The file you sent doesn't have the info I'd need to investigate.

    One other thing as well, assuming that the objects are different that you want to change colors. You do have the component on both of them that contains the method that is trying to be invoked correct?
     
  23. louiseclakey

    louiseclakey

    Joined:
    Jun 5, 2018
    Posts:
    8
    Attached the new logs.

    Not entirely sure if I'm understanding you correctly but I'm only trying to change the color of one object with both buttons (one button turning it green and the other button turning it red)
     

    Attached Files:

  24. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Ah ok that totally explains it then. You have to remember that every frame both pieces of info are sent every frame. So in your button example the one component is sending a false and calling change color and the other is sending a true and calling change color. Only one is working because it's being called second (overwriting the first). Generally speaking to do what you wish you'd want to rewrite change color so it took both pieces of data (or more likely a new piece of data that passes both buttons info at the same time) and takes care of the ambiguity (which in this case which color do you really want if both are true at the same time).

    If you moved them to separate objects it would be fine, but when you have two overlapping on a single object you have to remove the ambiguity in change color. Obviously that was just a simple example script provided and for more complex tasks the function that you write has to have all the information to make it's decision.
     
  25. louiseclakey

    louiseclakey

    Joined:
    Jun 5, 2018
    Posts:
    8
    Thank you for the help! I'm still new to C# and I'm having trouble figuring out how to do that. I assume i have to write a statement that will take into consideration all possible Boolean true/false configurations but looking at the ChangeColour.cs file i'm not sure how i would differentiate which button is being pressed. Is there a way to reference the Button1 and Button2 Boolean values individually?
     
  26. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    If you look at the source for changeColor it is passed a buttoncontrollertype to the method. You can query button.clientKey to know which one is calling it at a given time.

    So to do what you want you would declare 2 local variables to the file to save each piece of data separately depending on who called it. From there on out you'd likely just in the normal update method check the two pieces of data and if their both false have it the original color, if only one is true then display that color, and if both or true you can decide which color you want to display.
     
  27. louiseclakey

    louiseclakey

    Joined:
    Jun 5, 2018
    Posts:
    8
    Sorry, I'm struggling to work out how to do that. Could you provide example code for how i would reference the button.clientKey?

    Also I'm trying to allow for certain buttons to be enabled at a time. Eg. If Switch2 = true, then Switch3 & Switch4 = false. I think i can figure out how to do that, though i am wondering if it would require the use of backchannel data?
     
  28. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Sure, the existing changeColor function with one line added for clientKey.

    Code (CSharp):
    1.  void changeColor(ButtonControllerType button)
    2.     {
    3.         isPressed = button.BUTTON_STATE_IS_PRESSED;
    4.  
    5.         string key = button.clientKey;
    6.  
    7.         if (isPressed)
    8.         {
    9.             myMaterial.color = Color.green;
    10.         }
    11.         else
    12.             myMaterial.color = originalColor;
    13.  
    14.     }
    You would then just do a similar if statements on key. Something like if key equals button1 or button2 then do the different color.

    For your second question do you mean you want a switch on the game (server) to change if you modify other switches or do you mean on the client? If on the client are the other switches controlled by that player or are they coming from different phones?
     
  29. StridingDragon

    StridingDragon

    Joined:
    Jan 16, 2013
    Posts:
    78
    Okay, I am having a very weird problem and I cannot figure out what is going wrong. I am trying to connect an easyWifi client to an easyWifi server but it doesn't work. The Android client has a local IP address 192.168.10.18 and it is broadcasting. However, on the server side, instead of seeing a broadcast from 192.168.10.18, I see a broadcast from 192.168.49.1. This is truly bizarre because that IP address is unassigned on my network and whenever the server tries to engage that client IP, it fails inevitably.
    I checked and no, there is no other network interfering, and when I stop my client, the broadcasts from that IP address are stopping as well, so this IS definitely my Android client sending. I've been looking through the network settings on the client device to see if there's some kind of a translation there, but nothing.
    I checked through my router settings, but there's nothing that I can find either. I turned off IPv6, to no effect…

    Does anyone have any ideas what might be causing this?
     
    Last edited: May 28, 2019
  30. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Is your phones hotspot functionality perhaps turned on?
     
  31. StridingDragon

    StridingDragon

    Joined:
    Jan 16, 2013
    Posts:
    78
    Just in case anyone is having the same trouble—I have been able to determine the cause of the problem. My tunneling VPS software somehow caused this behavior. After turning off the daemon for the software, I was able to connect with no trouble at all.
     
    greggtwep16 likes this.
  32. louiseclakey

    louiseclakey

    Joined:
    Jun 5, 2018
    Posts:
    8
    Just for the client controller and there is only 1 client/controller. I'm trying to make it so if i press a switch which would turn it on / set to true, it will then turn off / set to false any other switches that were currently on. So I only want one switch that can enabled at a time.
     
  33. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Do you want that validation to happen directly on the phone or does it involve game logic so that the info has to go to the server and back?

    Based on your description you just want it to happen on the phone. In that case instead of using the button control I would use the Bool Data control. That way when you click one in addition to setting it's value, you can also directly change the values of the others.
     
  34. louiseclakey

    louiseclakey

    Joined:
    Jun 5, 2018
    Posts:
    8
    I think the validation only needs to happen on the phone (assuming that by pressing a button that turned the other switches off, the server would recognize that happened the same way it would if you turned the switches off manually.)

    As for the Bool Data control, I'm not sure how this works. Should i add the BoolDataClientController.cs to each switch? Also how do would i reference the switches i want to disable?
     
  35. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    The Bool data control is a pair one on the client side and one on the server, similar to any of the others. You'd simply send the value true or false (switch on or off) between the two in regards to my asset.

    As far as linking the switches you would just use normal Unity stuff to do this. Most likely if you would simply attach a script that references the other controls and modify their values directly (and you're correct that if you're doing it on the client that the server doesn't need to know anything it would just read the bool coming over directly for each of the switches).
     
  36. louiseclakey

    louiseclakey

    Joined:
    Jun 5, 2018
    Posts:
    8
    Sorry to keep bothering you. Would you be able to provide example code for how to reference the other switches and modify their values?
     
  37. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    This isn't anything specific to my product but in general you do the following.

    1. In your script declare a public variable for whatever you switches actually are (what are you using a uGUI Toggle?). So something like public Toggle myToggleOptionA; public Toggle myToggleOptionB; and so on. Please note if there is only ever 1 option selected you don't really need to do anything Unity takes care of it for you but I'm imagining you have a more complex example and might be using button or something else.

    2. In the scene view drag the actual switches to the inspector for the script you just created linking them.

    3. In the function you are using when you select one you would then directly set the other switches values. Something like myToggleOptionA.isOn = false; or myButtonOptionC = true; etc.

    Those are the main steps, you can certainly post your specific code that isn't working if you want me to look at it as well.
     
  38. chiapekharn

    chiapekharn

    Joined:
    Aug 22, 2012
    Posts:
    11
    Hi, Greg. Is your EWC can act as an input controller for other game (PC etc) via a phone device (Android / iOS)?
     
  39. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Yes that is the main use for the product. It's important to note that both devices must be on the same WiFi/network.
     
  40. chiapekharn

    chiapekharn

    Joined:
    Aug 22, 2012
    Posts:
    11
    Hi Greg, your plugin has been a great one =)

    I've managed to get both the server and client working, however, I need to turn off my internet firewalls. Is there a way we still can get them connected without turning off the firewalls?
     
  41. chiapekharn

    chiapekharn

    Joined:
    Aug 22, 2012
    Posts:
    11
    Hi Greg, sorry. I've tried other computers and they seems to work fine with the firewall turned on. I'll try to figure the problem with that laptop. =)
     
  42. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Assuming the laptop in question is Windows, I have from time to time noticed that the pop up for you to allow network traffic baked into windows does sometimes not occur like it should when you first install/run. Windows firewall defaults to blocking traffic unless you allow it so if that popup never occurs it would explain what you are seeing (90% of the time it does come up but sometimes for whatever reason it doesn't). You can manually add the rule, or simply uninstall/reinstall the app (or editor) and likely the popup will show up again after reinstall.
     
  43. ankgoyal

    ankgoyal

    Joined:
    Mar 13, 2018
    Posts:
    1
    Hi, I came across your wonderful unity asset. It seems to perfectly match what I need but I had some questions. The website mentions that EasyWifi Controller can be used to control a VR limb but I couldn't find any video or documentation on it. I might have missed it. Can you please provide some reference for this functionality?
    For reference, I would want to control a limb (6DoF) in a desktop game with a mobile phone. Can this be done out-of-the-box with EasyWifi Controller?
    Thanks!
     
    Last edited: Sep 2, 2019
  44. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    From your usecase it sounds like you need 6DOF which isn't doable with a mobile phone. To do accurate 6DOF you need a 4th sensor like lighthouse or cameras and phones only use 3 sensors for their IMUs which is 3DOF.

    Also, while games that use the product have done 3DOF it's not out of the box functionality all done for you in a precoded component. You'd have to send the 3 sensors data from the phone to the server which then you'd use for 3DOF.
     
  45. boorch

    boorch

    Joined:
    Oct 7, 2015
    Posts:
    40
    Hi, Before buying the asset, I have a question: Is it possible to build the client and server in the same app? Imagine I have 2 phones and a tablet. Can I use the exact same build on all 3 devices so I can use the tablet as the server and two phones as player 1 and 2?
     
  46. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    It'd be up to you to create the menu system to designate which is going to be the server and which is the client, but yes games that EWC have done this. Generally speaking in your main menu you have two buttons one for hosting (server) and one for joining (client) and based on which button is pressed EWC is started in the corresponding mode.
     
    boorch likes this.
  47. fluido

    fluido

    Joined:
    Apr 4, 2016
    Posts:
    3
    Hi, I would like to know if I can watch on the tablet a preview of what the user is watching. Is there a possibility to have multi users e.g.: 360 video controller with preview and user's number on the 360 video or similar
     
  48. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    For video likely not. The games that use EWC and have "screen mirroring" actually are just sending the players data (position, rotation, etc.) since the data is quite small. For Video the only way to render it on the other device would be to have both device be VR compatible and then send the timestamp and head rotation, etc. Most phones aren't really VR compatible so that wouldn't be possible. Streaming the video itself is far to much data for EWC.
     
  49. jnbei

    jnbei

    Joined:
    Jul 19, 2017
    Posts:
    4
    Hello,
    Currently i'm working on project using your plugin to connect between Standalone app (server) and Android App (Client) ,but i have a problem with this log " normal socket listening interrupted to exit Source: mscorlib " , can you help me
    i would be appreciated.
     
  50. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Can you send the full log file to our support email address? I'd be happy to take a look.
     
    gio_987654321 likes this.