OBA's basic app architecture for beginning a new "business-focused" app. Includes basic navigation, app services, features, prefabs, scripts, and scenes.
This is a Unity app development project. I've created a working template for "business-focused" apps that includes a number of features that I use in my apps. You can pick and choose the features that you need and remove the ones you don't.
The app's UI is functional. There's not a lot (any) pretty elements because this is simply a template. The functionality is all in place and it is a starting point for developing your full-featured app and adding your professional graphics.
My definition of "business-focused" is an app template that features the management, tracking, and presentation of information rather than game play. See the list of features below.
I also have card game architecture outlining how I built an app using Solar2d. At some point I may build a basic Unity card game template.
The What, Why, Where and How of the Template
WHAT I've created : a working app that includes the following features.
Screen Navigation: ("scenes" in Unity).
The ability to navigate to self-contained screens of different information and app features.
Lists (rows) of rich content (images, text, UI elements)
Ability to display a web page in the app.
Feedback & Contact:
Send an email, go to a web site.
Ability to select and display a photo from the device's photo gallery
Ability to share and post information to social media outlets
Stream the device's camera view as a precursor to creating augmented reality features.
Get the device's current location.
Display maps and markers
Get and display the current weather forecast for a given GPS coordinate
Initialize and create an SQLite database. Store and retrieve data.
There is a larger article with background on why I created this template which you can read if you're interested.
WHY I created it: To learn unity, test its abilities, and to create a template to use as a starting point for future Unity app development.
WHERE you can download: On my Github repository.
You'll find documentation outlining the prefabs, scripts, scenes, and resources used in the app. You'll also find a PDF document that diagrams the architecture of the app and its features.
HOW to use the template: The two PDF documents, one a written outline of all the prefabs, screens and scripts, the other an architectural diagram describe everything that goes into this app. The documentation also includes links to some of the resources, solutions, and "how tos" that I found useful.
You can view or use individual scripts in the repository if you don't want the entire template. The code is free to use and I hope you find it helpful.
Most features have been built to run in the Unity editor and on an Android or iOS device.
- Download the repository. The app's main codebase is in the "OBAUnityTemplate" folder. The "Docs" folder has the supporting documentation for the app.
- When you launch the project you may see a dialog asking if you want to "Enter Safe Mode?". Press the "Ignore" button (see the image to the right).
- You will see messages in the Console about missing "UniWebView". This is because this is a paid asset that I can not include in the template. To get rid of these message you can either (1) purchase the UniWebView plugin from the Unity Asset Store or (2) you can delete the "webViewScene" and the "mapViewScene" in the project's "Scenes" folder and the "loadMap" script in the project's "Scripts" folder.
- The template is designed to run in portrait mode, so you should select an appropriate screen dimension.
- Visual Studio version 17.3.6
- Unity Editor version 2022.1.19
- Xcode 14.0.1
Your Support Appreciated!
You can download the code and documentation and use them for free. Although if you find this useful, donations can be made via Paypal and are appreciated.
If you have questions, find broken features, have requests for additional features, or have constructive feedback, let me know!
Distributed under the MIT License. See `LICENSE.txt` for more information.
Github Project: repository
One Bad Ant: web site
One Bad Ant: Facebook page
Keith Kubarek: Linkedin page
Some useful online resources to accompany this template:
- Unity Transitions
- Database Management
- Unity SQL Code Example
- Configuring Database Plugins
- GPS Youtube Video Tutorial
- Unity Location Services
- Weather Service
- Download a File and Store Locally
- XML File parsing - search tutorials for 'XML'
- Scroll View How To
- Create Table with Rows of Data
- UniWebView from Asset Store
- Camera View
- Compass View
- NativeGallery Plugin
- NativeShare Plugin