Important! If you recently updated ultimote please download the updated library files our website
http://www.mydevelopersgames.com/site/corona-ultimote-2/
Check out our video: http://www.youtube.com/watch?v=fZBjw_8100o
Transmit just about any type of supported event from your Android/iOS device to the Corona® simulator to speed up your development time. Here are some of the features:

ultimote = require "Ultimote"; ultimote.connect(); obj.ultimoteObject = true ultimote.autoScreenCapture() Amazing ! Now this cheap simulator that comes with corona can be worth something Im so tired of building for device to run test on accelerometer and other features that simulator doesnt support.
Great job M.Y.developers
+1 to this Product!
Glad you liked it! We started making this tool because we were also tired of building to debug. With our macro recording feature we hope to streamline your development. For instance, instead of clicking through your menus to get to your game, just record a macro to do it for you. Then you can record another macro that has all the accelerometer/Multitouch/Gyro/etc events for your actual game and you can play the two in series. You can see if this works in your preexisting project with the demo project/macros we provided. Just look at the documentation pdf's or the included project files for a clear example. Let us know here if you have any questions or comments.
-M.Y. Developers
Thanks M.Y.developers Ill definitely give it a shot because my current game works with Accelerometer and its frustrating and a huge time wasting building to keep testing every little change. When is the product expected to release on App Store ?
We are requesting an expedited review but due to the specialized nature of this app it may run into trouble getting approved. We are trying our best to have it out in the app store as soon as possible. Meanwhile if you want a specific accelerometer macro, let us know and we can record one for you.
This tool is very impressive, but i have some question:
1) can we use it only on android device to control simulator even for ios builds ? I mean app is availble on android market already so if somebody owns Android and iOS device so it can be used without need to wait for Appstore validation.
2) can ARM6 devices be used for this purpose ?
3) can it be used similar to Gideros player, which is installed on device without need for actual build. I mean effect is very similar.
Regards
Bladum
Thank you for your interest,
1) Yes, you can use the Android build to control the Corona Simulator. What you do from there (ie build for iOS) is up to you and you should remove Ultimote from production builds anyway so it will not matter.
2) I do not think Corona supports ARM6 devices anymore unfortunately. However, there are no fancy graphics that the ARM6 cannot handle so we will look into getting an older version of Corona and building it from there to support ARM6 in the future.
3) Yes, it is very similar to Gideros player. You can stream objects and screenshots to the device in realtime so in effect you can test your app on the device without having to compile. You can even send system level functions that would be ignored by the simulator to the actual device.
If you wish to buy the Android version now, email us your receipt and we can give you a promo code for the iOS version when it is available. mydevelopergames@gmail.com
Hi,
The thing with ARM6 is that there are many people that still have ARM6 for testing (and cannot use them now). This way Your ARM6 device can be only used to control simulator not for current builds. Build would require ARM7 device as usually.
Regards,
Bladum
Hello,
Ultimote was made using Corona. We tried to compile for ARM6 using an old version of Corona(build 319) but it did not run on our device despite all our efforts. We cannot get support from Ansca either because this version is not supported.
Best,
M.Y. Developers
App is now available on the iOS app store!
-M.Y. Developers
Great, but i need a mac and a iphone first;)
Any promo/discount codes available for this app? seems to be interesting...
The app store does not do discount codes (at least we are not aware of) but it is still on sale for 15% off the original price of 19.99. Also, we have a demo on the site for you to try out before buying. The demo showcases perhaps the most timesaving feature of Ultimote: macro playback.
you can get the demo here
http://www.mygamedevelopers.com/Corona-Ultimote.html
or for a direct link:
http://www.mygamedevelopers.com/UltimoteDemov1.zip
and the app store link is here
http://itunes.apple.com/us/app/corona-ultimote/id480405158?ls=1&mt=8
and the android market link is here
https://market.android.com/details?id=com.MYDevelopers.Ultimote&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5NWURldmVsb3BlcnMuVWx0aW1vdGUiXQ..
Also. if you get the android version we will send you a promo code for the iOS version for free.
Thanks for your interest,
M.Y. Developers
Just bought it. I need to test the accelerometer. Does it work for the Kindle Fire?
Thank you for purchasing our App. If Corona supports accelerometer events on Kindle Fire then our App should work on it as well (because it is written in Corona).
-M.Y. Developers
I meant if there is an app to install in the Fire, the same as in the iPhone.
No it is not available on the fire yet since we do not own a fire to test. Do you own a fire? we can send you an apk file to test it/have it.
Thanks,
M.Y. Developers
Yes, I have. Send to me alex@asouza.com
I bought Ultimote and it's been working great. However, I've recently run into an issue where the iPhone app repeatedly reconnects over and over again.
The console displays:
1 2 3 4 5 6 7 8 9 10 11 12 13 | waiting for device... waiting for device... waiting for device... Connected! waiting for device... waiting for device... waiting for device... waiting for device... Connected! waiting for device... waiting for device... Connected! waiting for device... |
etc.
This is being caused by the following:
1 2 | local ultimote = require("Ultimote") ultimote.connect() |
The only sensors I have enabled on the device are "touch" but even that's not actually being used since my lua file has no other lines in it.
I've tried rebooting my computer, rebooting my phone, and uninstalling the app and reinstalling it from the app store. Nothing seems to fix it.
It turns out I needed to reset my router. I assume it was an IP conflict or something.
It would be good if there was an ultimote wiki to document this sort of thing.
Izamojc,
Thank you for letting us know of the problem. We are happy to hear that Ultimote is working for you and we are working on our new site that will eventually have a wiki and a bug tracker/feature request system.
Let us know if you run into any further problems, we try to check this forum often.
Thank you,
-M.Y. Developers
If I can make a suggestion, it would be great if there was a way to fake geo-locations by dragging a point around a map. I'm building a location-based app that uses proximity to play audio.
The locations I'm testing are in New York and I'm in Toronto so it's impossible for me to test on the device. It would be nice to be able to drag a fake "user" around a map rather than manually building location macros.
Keep up the great work!
Hi Izamojc,
Thank you for the suggestion. It is a very good idea and even more practical. We are working on importing google earth paths into our program so in the mean time, please make sure you have google earth on your computer and also be familiar with the add path tool as we will be using this feature to import data into Ultimote. We will keep you updated.
Thank you,
M.Y. Developers
New feature update: Google® Earth Path import
You can now import any arbitrary path from Google® Earth into Ultimote and play the sequence of coordinates as a macro. You can either get a path from a driving direction query or you can choose to draw one yourself. Now you not only simulate location events, but entire paths anywhere in the world! See the documentation for more information.
Download the update from
http://www.mygamedevelopers.com/UltimoteDistribution13.zip
Let us know if you have any questions,
M.Y. Developers
Please download an important update. If touch events are not being triggered due to invisible objects being drawn on top then please download the update from here.
http://www.mygamedevelopers.com/UltimoteDistributionv131.zip
-M.Y. Developers
I just wanted to write a quick review of Ultimote here, as I purchased it about a week ago.
Ultimote has made my life so much easier - I'd go as far as to say it's been my best purchase in enhancing the standard Corona SDK.
In my projects so far I'm just using the touch functionality, but this is so much easier than using the simulator directly - and it supports multitouch, so not having to build to device constantly is a great time saver.
I'm planning on using the accelerometer in a future project, so the fact that Ultimote supports that (along with gyroscope, compass and gps) made the purchase a no brainer.
I did have a small issue when I first used Ultimote in my project, but the level of support I received was excellent - on providing some sample code I literally received a fix within 1 hour!
So I'd wholeheartedly recommend you purchase Ultimote to speed up your development process - a big thumbs up from me.
Bryn
Thank you for the review. We appreciate your support. We are constantly trying to make our products better and if you have any suggestions or comments, please let us know.
-M.Y. Developers
The GPS functionality has been a life-saver. I built an app that used specific geo-location data from Central Park in New York. I live in Toronto, Ontario; Too far from New York City to do live testing.
Instead, I was able to get my client to build paths in Google Earth which I was then able to run as macros in Ultimote. This ensured my geo-coordinates were tracking correctly to their locations.
It took a lot of the guesswork out of testing GPS functionality in Corona; All without having to leave my desk.
For the GPS functionality alone Ultimote is worth every penny!
Hello izamojc,
Thank you for your nice comments. We were able to implement the Google earth feature per your request and we always welcome any feature requests/problems. Thank you for making our product better and more efficient.
-M.Y. Developers
The only thing I don't like about the app is the user interface. The buttons are very small and hard to click, and the Star Trek fonts don't look very professional. ;)
Thank you for your honest comments. We are definitely working on making the user interface better. We spend more time on getting the product functional but user interface is also very important therefore we will improve it.
-M.Y. Developers
I have installed your Air Hockey game from the app store and played in wireless mode with another iPad. Very cool.
Now I want to add the same wireless multiplayer capability to the next version of my Pinball Soccer game. (See http://martinapps.com/pinballsoccer.html.)
I downloaded your UltimoteDistributionV131 but am having trouble seeing it work. Here is what I did (following your instructions in "Read me please.txt").
1. Using the project "ConnectionDemo" folder, I built the app and then installed it on my iPad.
2. I opened the project from the same folder in the simulator.
But the console just keeps printing "Waiting for device...", and the ConnectionDemo app on my iPad never shows an Autoconnect button. I can start the game by hitting Play on either the device or simulator, but they don't connect and the game play is very sluggish on both.
Am I missing something? Do I need to install your app from the store on my device to make this work?
Hello Bruce,
The Ultimote Distribution files are the library files to accompany the Ultimote app from the app store. Currently only downloading the library files will allow you to test the macro playback functionality of Ultimote. The project files included there were not intended to be compiled and installed on devices as these were made to run on the simulator with the Ultimote app connecting to them. The autoconnect button refers to the Ultimote app from the store.
It appears from your questions you are trying to create a multiplayer game, correct? Ultimote was designed for transmitting real time device only events (etc gyroscope, accelerometer, multitouch) to the simulator, not device to device. However, we have another third party tool in the works (will be out in a day or two) that will be exactly what you are looking for. This new tool will feature:
-Automatic network discovery (much like ultimote), ie no need to enter in IPs/Ports
-Client/Server model with multiple clients/servers on the same network
-High speed UDP for time critical events with different levels of importance (acknowledgments)
-Ability to transfer files for maps and such. We will try to do this in UDP but may end up using TCP
-Ability to choose from multiple servers on the same network
Am I missing something? Do I need to install your app from the store on my device to make this work?
If you want to stream hardware events from the device to the simulator and record macros then you need to install the app from the app store.
However, if you just want to make a multiplayer game. then we ask you wait a day or two for our new tool (Corona Multiplayer, Corona LAN, name not decided yet)
I have installed your Air Hockey game from the app store and played in wireless mode with another iPad. Very cool.
The air hockey demo you see on our youtube video is a sample game done by Ansca. We just used it to show how easy it is to incorporate Ultimote into existing projects. Could you send us the app store link? The game is not ours but it sounds interesting.
Thank you and sorry for the misunderstanding,
M.Y. Developers
Just bought corona ultimote and its awesome! What a huge time saver, if only I stopped buying all these cool corona tools and buy an indie developer license! haha
I have a suggestion, I would be great if you could have the whole game stream to the device, don't know if thats too much bandwidth though?
Hello Leom271,
Thanks for checking us out!
You can use Ultimote on test driver, indie, or pro license it will work on all.
It is possible to stream the entire game screen to the device but you cannot send the individual pictures if you choose to do this. You can do this with the following code:
1 | ultimote.setOption({sendAllObjects = true}) |
Another option you have is to send periodic screenshots of your game screen by using this code:
1 | ultimote.autoScreenCapture({name = "screen.jpg", period = 2000}) |
Let us know if you have any more problems.
Thanks,
M.Y. Developers
Sweet thanks M.Y Developers, in the future will we there be an option to stream the images not just the outlines?
Hi leom271,
Currently you can stream images to the device if you set the ultimoteObject = true for any display object(s) for example:
1 2 | local someObject = display.newCircle(100,100,20) --this can be anything including display groups someObject.ultimoteObject = true --this will stream the object, generate an image, and send it to the device |
There are plans to improve the network protocols for Ultimote. We are working on another third party tool (Corona Multiplayer) that features an improved networking protocol that we will not only be used for multiplayer games but also for applications such as Ultimote. This will improve the network connection and allow you to stream more objects.
Thanks,
M.Y. Developers
Here is the link to the Air Hockey Gold game on the app store.
http://itunes.apple.com/us/app/air-hockey-gold/id353410847?mt=8
You can play with 2 iPads by tapping Wireless 2 Player. I thought this game was done by you guys, which is why I was confused when your demo package was not able to produce the same result.
This game's iPad-to-iPad game play is very responsive. This impressed me as I was expecting the latency in the network handshaking to be too slow to allow the fast game play that this game provides.
I was originally thinking of Bluetooth for the network, but Corona doesn't support that yet. So I will be waiting for your new package to try.
Hi - I just bought the Ultimote for Android but can't get it to connect- with the demo code all I am seeing is 'waiting for device' constantly.
If I try to connect in Manual mode, what is the IP address referred to? Should it be the IP address of the computer I'm running the simulator on? Also, the port setting?
Thanks
Harry
Hello Harry,
We replied to your email a few minutes ago.
Some android devices (so far we know of HTC Sensation) have known networking issues. Many remote type applications (like VLC remote) do not work with this phone because of problems receiving UDP broadcasts. Another Corona Devloper, Martin, had the same problems and he was able to fix the problem by applying a UDP broadcast patch as well as tethering his phone.
Have you tried tethering your android? In fact this would provide you the lowest latency connection.
For the manual connection the IP address is the IP of the computer the simulator is running on. The port is displayed when Ultimote loads, we decided not to specify a particular port in case they were blocked or already being used by something else.
Thank you and we apologize for the problem,
M.Y. Developers
Thanks guys, I appreciate your quick response here and by email.
Best wishes
Harry
Is there a trial version of some sort? I would really love to test and see if the app works before buying it..
Hello Satheesh,
Thank you for your interest in our product. We do not have a trial version yet but it is currently in our plans to make one soon. If you purchase the Android version, we will also send you a promo code for the iOS version and if you do not like it or if your app does not work on it then we can definitely give you a refund.
Thanks,
-M.Y. Developers
I wanted to jump in here to relay my (very recent) experience with the Ultimote devs. I had purchased the iOS app and had an issue (which was on my end) getting it connected to my simulator to send and receive events. I contacted the devs and they were incredibly awesome. I was up and running within a few minutes.
Of note for others - I had a virtualbox instance on my windows machine that uses a host adapter in networking. This should be disabled if you have it running as it may interfere with the other (main) network adapter. YMMV.
I can't recommend this tool enough. It has saved me so much time. It's really an amazing addition to Corona development and the people behind it are wonderfully refreshing.
My two cents.
Hello Hive,
Thank you for the kind words. We really appreciate your support and please feel free to let us know if you run into anymore problems.
-M.Y. Developers
Hello Community,
We are now offering a sale for Ultimote! For limited time only. Please visit: http://www.mydevelopersgames.com/site/corona-ultimote-2/
Thank you,
M.Y. Developers
Hello Community,
Please ensure that you have a build of Corona SDK that has the json library pre-installed. This is required for using Ultimote.
Thank you,
M.Y. Developers
Hello Community,
Unfortunately there have been problems with Dreamhost recently and our website is currently down. We are working to fix this issue so please be patient.
Update on development:
We will soon be updating the Ultimote networking interface to be using our AutoLAN system, which is a much faster framework than the current version. Hopefully this will solve lag issues that you may be having. This will also have the interesting feature of remote controlling the simulator from the internet. Not sure why you would need it but we are sure someone will come up with a creative use of the feature.
Also, we will release a demo version for people to try before you buy. Most likely it will be a time limit demo.
Thank you,
M.Y. Developers
This is a great tool and it worked great with the demo app. But when I tested out the Shape Tumbler demo - http://developer.anscamobile.com/content/shape-tumbler - and removed every object but one, this is the error I received. Any ideas?
.../thatssopanda/Dropbox/mygame/code/Ultimote.lua:266: attempt to index local 'payload' (a number value)
stack traceback:
[C]: ?
.../thatssopanda/Dropbox/mygame/code/Ultimote.lua:266: in function 'sendRemoteImages'
.../thatssopanda/Dropbox/mygame/code/Ultimote.lua:606: in function <.../thatssopanda/Dropbox/mygame/code/Ultimote.lua:536>
?: in function <?:215>
Runtime error
.../thatssopanda/Dropbox/mygame/code/Ultimote.lua:266: attempt to index local 'payload' (a number value)
stack traceback:
Hello Daniel,
Thank you for your support. Sorry to hear you are having problems but we are currently working on an update that will fix many networking issues that may be a problem. We will be using our AutoLAN interface that is much better than the current methodology. We are also greatly improving the user interface to make it more pleasing to work with. We hope to have it released sometime this weekend.
To address your issue we need more information. Are you trying to stream the images to the device? If so perhaps you should try turning on sendAllObjects mode to prevent sending the images. It will still stream the object bounding boxes. You can do it like this:
1 | ultimote.setOption{sendAllObjects = true} |
Let us know if that fixes your problem and thank you for your interest.
M.Y. Developers
Impressive!