I am building an app that can host multiple games. The games will be made in Unity3D. For the app, I was torn between Unity3D and Android Studio. I am thinking of using Android Studio.
Can the desired task be done in Android Studio? Later on I also want to be able to load new games into the app from a Web Server, that's why I'm going with Android Studio
Although it is possible to export from Unity into an Android library, you can only have one instance of the UnityPlayer at a time. And it is not possible to restart that instance once you quit it. But I never tried to have multiple Unity projects in one Android Project, so it might still be kind of possible
Unity introduced native library support in 2019.3 (still in beta). Perhaps this will develop in your favour, but your requirements are a bit exotic.
Another approach could be to develop all games in one Unity-Project and then export scenes of a single game as AssetBundles. That would eliminate the need to handle multiple Unity-Projects but has downsides on his own.
Related
I have just spent an entire semester of my Mobile App Development class coding with Android Studio(in fact my last day was actually today), and I have gotten very skilled in it for the time I've been doing it. I also just installed Unity and want to make PC and/or mobile games. Out of pure curiosity, hypothetically, is it possible to convert a unity project made for android and open it in android studio or vise versa? If so, how hard would it be? I'm also curious, since Unity can export for Android and IOS, assuming what I've just mentioned is possible, could it be used to make a game which was previously only available for Android, compatible with IOS? I don't absolutely need to know exactly how any of this would be done since I don't want to try it(yet), but in the off chance it is possible, I'd be interested to hear about it and how it might be done. While I'm here, I'd also appreciate any tips for creating games in Unity with the experience of only making regular apps and simple 2D games in Kotlin with Android Studio.
I am creating an app that will require small mini-games as a menu option, and I have created these games in Unity. Ideally, I would like to embed these games into a Flutter project. I have seen tutorials on doing this with Java and Android Studio, and I need to make a decision on which platform I will be using for my internship project. I have several questions about the SDK, but I have posted them separately to keep the answers distinct (and help filter out the noise for anyone searching for these specific answers), and this is one of my main questions.
Specifically, I am following this guide: https://medium.com/#davidbeloosesky/embedded-unity-within-android-app-7061f4f473a
for Android Studio, and was wondering if something similar was possible with Flutter. I am also using Android Studio as my IDE for Flutter, but need to decide if I should stick with Java, or switch to Dart and Flutter (which actually works much better for specific UI elements I need).
If not, is there another way to package a Unity project and a Flutter application together?
You can imagine the whole Flutter app to be rendered on one view of the final native application. It can coexist with native views. So it should definitely be possible to display a native Android/iOS view with Unity content and trigger that from Flutter.
Create a Flutter project and open the Android native part of it (right click the android folder in Android Studio, choose Flutter -> Open Android module).
Create a native Android view there and use platform channels to display it.
Add Unity content to the native view.
https://flutter.io/platform-channels/
As of May 2022, I would like to share an updated information for mobile app developers who are researching this interesting issue. The reason I'm writing this answer is because there was so many development tasks that need to be done before I get the right answer to the above question. A developer researching this subject should work in both Unity, Android Studio and Xcode in order to find a definitive answer to his/her question, and should also know how to develop mobile apps with Flutter. Honestly, if everything had not gone well, my long time development works might have been wasted. In addition to my answer, I would like to give also positive news on the side of Augmented Reality developers who are using Vuforia and investigating the same issue.
Using the magnificent https://github.com/juicycleff/flutter-unity-view-widget repo; in your mobile app developed with Flutter, you can run the game you developed with Unity or the AR app you developed with Unity + Vuforia. You can use the app you developed with Unity, in the Flutter App you developed. They can also communicate each other in the Flutter App. You can pass parameters from your Flutter App to your Unity application in the Flutter App, and you can also pass parameters from your Unity application to the Flutter App. This means, you can pass parameters from your Flutter App's Dart code to the C# code of your Unity work and vice versa. For those who develop AR Apps with Vuforia, I would like to point out that for the scenario I am working on, I use Image Targets. I have same experience on the phone, with the Unity APK and Android Studio APK, they are in the same stability. Of course APK sizes are different, Flutter App APK size is of course bigger than Unity APK, but in my case this is absolutely ok.
As of May 2022, the answer to the above question is: Yes, you can. Moreover, for those who develop AR Apps in Unity using Vuforia, the answer is also: Yes, you can. I wish success to everyone who will start working in this scenario. Since it is a detailed subject, some difficulties are waiting for you on the way, but if you can see that the product you dream to achieve will be a stable Flutter App, with all the nice features, I am sure that you will find the enough motivation to bring all of them together. Good luck.
Is it possible to create a new iOS app with exsisting sources?
I am working with xamarin in Visual-Studio. I've got a project, an app that runs on Android devices. But can I make a new project for an iOS app with those existing sources? I have a Macbook that I can use to do this. I also have a PC with windows 10 on it. So the hardware/software requierments shouldn't be a problem.
Getting to the point..
Is it possible to transform the project from an Android app to an iOS app without writing any code extra? And how can I accomplish this, any tutorials that I can watch/read?
The code language is C#. The programs that I am using are Visual studio and the xamarin extention.
I've read something about Platform Abstraction and Divergent Implementation on the xamarin ducomentation page, but this couldn't fully answer my question.
Short answer: NO.
Long answer:
There are a quite a few cross platform developing tools out there. Xamarin, like the one you are using, or Cordova. They simplifies the development by "A LOT" but you can't just convert one app to another without writing 0 code. Some of the libraries in one platform do not exist in the other. So, the long answer is that cross platform shortens the development cycle as you do not need to start from scratch on other platform, that does not mean it can completely convert.
P.S. Youtube is your friend, but the difficulty of the transformation solely depends on the scope of your project, as they vary a lot.
I second the other answers.
Furthermore, I'd like to propose to have a look at Flutter.
Flutter is based on Dart language . The framework and your application get compiled from Dart to the Android and the iOS target platform.
Flutter is a product of Google and likely to get the base development environment for Fuchsia, a new OS from Google.
My own experiments with Xaramin ended up kind of frustrating. The development was slow, several times problems with Xamarin itself or plugins made me stop the effort.
At the other side, I created an app with Flutter quite fast. While Dart and Futures might seem at first quite different compared to other concepts/languages, after some time things turn out to be very natural and well designed.
While Flutter originally was based on Material design, Google added an iOS theme using CupertinoWidget.
A simply great feature is the enormous quick development turnaround time: The app under development very ofter adopts within just a second your source-code changes. Flutter/Dart hot reloads changed classes often instantly.
Android Studio is a great and free IDE for Flutter development. Plugins enhance to IDE with Flutter development tasks.
If you have android application written in Java you can use Migeran Analyzer to understand how much % of the code could be reused between android and iOS: https://analyzer.migeran.com/
Once you have the % you can use Intel Multi-OS Engine (free product) to create cross-platform application in Java: https://software.intel.com/en-us/multi-os-engine. It will have module with cross-platform shared code, android specific code module and iOS specific code module
can someone say the difference beetween developing an app with the vuforia sdk in eclipse or android studio vs developing in unity with the vuforia extension?
In terms of performance, app size, and etc...
Edit: I'm doing an app in Unity3D, that uses a lot of 3d resources an high resolution images, but the size of my app is growing a lot, that's why I want to know if there's a notable difference between developing in android studio or Unity3D, so I can migrate my project to Android studio.
NOTE: All my content needs to be packed inside the app, I cannot use a server to send the resources, because the app needs to work in an environment with no internet connection.
late but, may help you
Yes there are multiple SDKs for Vuforia like androidSDK and UnitySDK
Since Unity is a CrossPlatform Development Game Engine, We can Generate android project after completing project in Unity.
Advantages of UnitySDK over androidSDK
Since Unity is GameEngine, we can create rich 3D Environments with better UI.
Easy handling of large graphics
Advantages of androidSDK over UnitySDK
Since you are creating a android app with AR, with android SDK you can create app which is compatible to all the screens , we can apply lots of apis directly into vuforia player
Disadvantages of Both
Unity:
Apps created with unity created in native android , so we need to know NDK development if you want to use unity vuforia player efficiently
Android
not possible to handle rich 3D environments
So I Suggest you better go with Unity and then integrate it in android studio
Have not seen this one asked before and I am a pretty big novice to mobile game development. The team I work with would prefer to avoid Eclipse if at all possible, but our app requires advanced features such as integration with Facebook and Youtube and making calls to remote database servers. Can Unity support this without need for Eclipse or Netbeans?
Can't think of anything that would stop you from building your application without Eclipse or Netbeans, android sdk comes with a full set of tools for building applications, you'll just have to take care of building scripts yourself.
Facebook has unity plugin you can download it from here. I have used it once it's simple really. I don't have any idea about youtube but form making calls to server you can use Unity's WWW class.