Do I need to update the Unity? - unity3d

I have a license Unity 3.x. Now we need to create a simple 2D mobile application. Is compatible Unity 3.x SDK with current mobile API platform (Android, IOS) ?

I would say it's not really an issue of if you need to but should you.
And you absolutely should. Unity has released numerous improvements and native support for 2D applications that didn't exist or at least were very rough around the edges prior to 4. I can't think of any reason why I'd want to stay stuck with Unity 3.x when Unity 5 is readily available.

Related

Can I use ARFoundation instead of Vuforia? Does it support wide range of mobile phones?

Since ARFoundation is free, I'm thinking about using it on a project. What I need is only Image Tracking. But I have a few concerns:
1-) Vuforia supports almost any mobile phone with a camera. I remember, I was using it even in early 2014. If ARFoundation is mainly a framework which is a combination of ARCore and ARKit, I have concerns about it. I know ARKit supported on iPhone 6 Plus and later (fair enough), how about ARCore? Can I trust it on mid-tier Android phones released on late 2014 or more? Can someone define the trade off here?
2-) Implementing Vuforia on a Unity project is a piece of cake. I have a limited time. Would you bet on ARFoundation on a project? Is it "stable" enough or do I have to google it to work, like there's no tomorrow?
Edit: After a 6 months long project development, I have something to say: Use ARKit for IOS, and Vuforia for Android. This way, you will have less headache on Android and more power for AR in IOS :)
ARCore is supported in a lot of devices but still exists a (really) big gap between the ones that works and don't work.
You can check all supported devices here: https://developers.google.com/ar/discover/supported-devices
You can see that is missing really a lot of devices from before 2017-2018.
Also, it's very important to know where do you plan to release your app, some countries probably have more users with the latest phones.
Lastly, Vuforia is really easy to add to a project, really really easy.
ARFoundation is not really dificult, but it is not as easy as Vuforia, but it is stable, it's awesome. It's just a bit more complex to understand, but that is not really a problem, there are a lot of samples out there. You can start with the official ones: https://github.com/Unity-Technologies/arfoundation-samples
If you want just marker based AR, stick to Vuforia. If you need more complex experiences using AR Planes it's better to use AR Foundation.

Is there something similar to ARCore's anchor and pose in any other AR library

I wanna build measurement app for Android and iOS using Unity. Can some one guide me through as it is my final year project and I am confused what to use that will work on both Android and iOS for all devices.
I am confused what to use that will work on both android and ios for all devices.
This is not a very reasonable thing to ask. You can deploy your applications to iOS and Android with both ARCore and Vuforia. However, not every device can run ARCore or Vuforia. There is a list of supported devices for both of them.
For the task you want to implement you need to use Vuforia Fusion. Here is the list of devices that support Vuforia Fusion. On top of that these devices should fulfill certain requirements such as having minimum iOS 9+.
For ARCore the list is like this and ARCore also has requirements specific to devices. However, it is easy to say Vuforia supports more devices than ARCore. Therefore, Vuforia is used more in such applications recently but this might change in the future. I prefer ARCore over Vuforia because of the flexibility it provides to developers.
Since this is your final year project i would recommend doing a thorough AR SDK research first and then decide with which one to start. There might be other SDKs which might be better for the task in hand. Good luck!

Develop Kinect game using Unity

I want to develop a game using Unity + Kinect, as I understand Unity does not support the official Kinect SDK so I have to find another way. I saw that some guys use ZigFu which seems to not have a good Documentation and has a $200 licence. Is there any other easy way to make things work between Kinect and Unity? If I choose to not use Unity, what other tools exist that support the official C# Kinect SDK to develop a game?
The Official Microsoft Kinect SDK should be easy to plug into the XNA Game Studio.
There should articles on the web and samples shipping with the SDK.
Unfortunately I haven't used the MS Kinect SDK since version 1.5. I'm hoping there are updated guides/tutorials available for the latest SDK.
UPDATE
One workaround would using multiple applications talking to each via a TCP/UDP socket (OSC is pretty easy to use for example). The idea is you use what you prefer for the kinect tracking, but send a list of coordinates for the joint's positions and orientations to unity.
You should see this unity thread. It states that you cannot use the Kinect SDK with Unity, as the frameworks are not correct. However that was a different version.
Actually, it says you can use it as this sample shows.
Note that there are many errors people seem to be having with it. I don't know how much of that is people having poor code and how much is with the SDK.

Anything similar to XNA for Android or IOS?

I want to start creating games for Android/IOS. I have already created 2D games using XNA and I want to publish them on other platforms even PCs but my highest priority is Mobile platforms. As I said I am familiar with XNA so I need a similar Engine for 2D. It would be great if I could write once and publish on many platforms. Please dont suggest Unity or Unreal. They are not that easy when it comes to 2D.
By similar I mean, for example, how easy to draw a sprite on the screen.
Note: I am working on Windows so no Mac suggestions please.
Regards,
You may also want to consider MonoGame ( https://github.com/mono/MonoGame/ ) as that is also an Open Source, OpenGL implementation of XNA that currently has support for iOS, Android, MacOS X, Windows and recently Linux. It is now all ES 2.0 on the mobile platforms. Our biggest change is that we now support Windows 8, and have a DirectX 11 backend thanks to SharpDX. We now also have initial PlayStation mobile support.
Actually ExEn, is a fork of MonoGame( originally called XNATouch ).
For a list of games on the AppStore or Android Market place and even NaLC, currently using MonoGame look here -
http://monogame.codeplex.com/
I hope this helps.
D.
You might want to keep up on the project called ExEn, which has already successfully ported some XNA samples and smaller games to iPhone and Android. It requires relatively little work to port and refactor to these platforms.
I suggest you check out AndEngine, its an open-source 2d open-gl based game engine that has a strong community. If you want something that you can make cross platform games with check out LibGDX It too is free, open source and based on openGl but it also allows for 3d games. It is also cross platform so a game you write for android can be compiled for, Windows, MacOS (see below), Linux. It also has a really strong community.
Regarding iOS and OSX games you really can't make them unless you buy a Mac. Apple doesn't distribute their SDK for use on any other platform but their own. That said you could maybe get something working under VMWare
Check out MOAI SDK. It's completely free and open-source. It is in beta right now but it is still pretty good. Crimson Pirates for iOS was developed with it.
Right now it supports iOS, Android, Mac, Windows, and Linux. Really good. I thought I liked Cocos2D-x, which is a C++ variant of Cocos2d-iphone supporting windows, iOS (not Mac), and Android but not truely supporting desktop kinda made me like MOAI more.
You can use C++ with MOAI or you can use Lua (they highly encourage using Lua). Being built in C++ is really great because you get access to a vast amount of libraries and you can easily bind them to Lua.
You should try games development with cocos2d.
Cocos2d is one of the best 2d engines for ios/Android I have come across.
http://www.cocos2d-iphone.org/
It is openGL based free engine.
Regards,
Sam
These might be useful to you. However, the first two aren't free, but they have editions for both iOS and Android.
iOS:
http://ios.xamarin.com/
Android:
http://android.xamarin.com/
I've never used either of them, but it's something I've been looking into a bit.
Apparently it lets you run C# and .NET code on both iOS and Android which is pretty cool considering how much easier drawing and things like that are in XNA compared to Open GL ES 2.0. Not to mention the fact that you'd be using C# instead of objective C.
There's also a free open source version sponsored by the same people who make the two I listed above. This one lets you run C# and .NET code on Windows, Linux, and Mac OS X.
http://www.mono-project.com/Main_Page
I have been researching this topic intensively over the last few weeks.
I think the best solution for you is Marmalade, formerly known as Airplay SDK. It is actually more Windows-oriented than Mac (work in Visual Studio), although you still need a Mac for the final step of getting a signed app onto the store. It sounds like a very capable pure C++ product with iOS and Android as well as a bunch of other platforms, Personal license with splash screen $150 pa, single seat Professional $500 pa for all platforms. They have a 45 day trial license which I'm currently using.
I was tempted by MonoGame, could live with the $400 price tag for each platform (for the needed MonoTouch) but it is just way too buggy. The final straw was a combination of a bug causing it to crash all the samples on iOS5 and that keyboard input is broken on iOS.
Too be fair, I'm pretty sure that is all on the MonoGame side and was very impressed with how well MonoTouch worked and was looking forward to programming in c# with LINQ et al.
Since it is not obvious from the other answers, it should be noted to those who are unaware that the ExEn project and the MonoGame projects both build on the Monotouch platform from Xamarin (formerly from Novell) - which is a prerequisite for both for iOS games.
The Xamarin projects was mentioned in another answer as an alternative to Xna, but is really not. Monotouch and Mono for Android are a way to run C# and .NET on iPhone/iPad and Android.
Game development at least on the iPhone side, is typically done using OpenGL and OpenGL is also wrapped in Monotouch. The Xna implementations in Exen and MonoGame also uses OpenGL as the foundation as far as I know.
It should also be noted that Monotouch and Mono for Android are commercial products.
BTW: Exen also compiles to other platforms e.g. silverlight.

Game development using Unity for iPhone

I have decided to use the game engine Unity to develop my game for iPhone. But I need to use some functions built into the iOS SDK.
If I choose to develop using Unity, can I still use functions from the standard iOS SDK? Like functions to access a url, etc...
When you compile a Unity project for iOS it takes your C# or JavaScript code and AOT compiles it to a native dll. It then creates an xcode project which loads that dll. You can add native objectiveC, or C/C++ functions to this project and expose them for calling from the Unity engine.
http://unity3d.com/support/documentation/Manual/Plugins.html
Unity also has built-in methods for accessing URLs.
I don't know how the Unity SDK is built, but if it's a static Objective-C library then you can access iOS SDK functions without any problems. If its a script engine where you develop your scripts outside the IDE then you may not access iOS function.
Have you checked other engines/sdk's for your game development? I know that Cocos2D is well documented and I know for sure that you can call iOS methods.
Good luck!
I used both unity3d and corona which are very good at their field, and yes you can use all standart SDK over them, sometimes you need to do tricks though (which is quite a pain). If you are developing a 3d game and familiar with NVIDIA PhysX engine go for unity, it gives you nice features. But if you are clueless about collasions/rigidbodies/ragdolls etc you would have a hard time for sure.
As for 2d application development since I don't like Objective-C I prefer corona which you code in lua (easy to learn and use). You can use most of the IOS SDK in it without any problem.
I really reccomend you starting with Unity, it is the best engine I have ever used (I have used a ton of bad engines).
Unity is the best place to start and to stay. Coding, graphics and everything is simple to manage in this engine.
Unity is specially 3d but you can also build 2d games, some examples are Zombieville and OMG Pirates (very succesfull games on the appstore).