Square

Mobile Apps

I have produced apps made using C# using Unity. From start to finish, being solely responsible for the code design, structure, layout, choice of implantation. One project was pre-designed and came with specifications for each “page” format, and app flow. The Bulgarian By A Brit apps, I designed the visuals,  content and code.

Interactive Story App

A 16 ‘page’ app, based on the story of Oliver Twist.  Interactive app with clickable characters, sound, character movement, animation, text content, swipe navigation & more!

 

This app had previously been made for iOS.  Due to a change in specs for iOS dev, the app needed to be remade from the ground-up code wise, so this is where I stepped in.

The previous team consisted of two developers and an artist.  I have developed this new version using Unity 3D.  The completed app will be be publish it to the Apple and Google Play Stores by the owners .

Key overview of the project elements:

  • Working with an array of assets → 3D models, design brief, Unity engine (& all the tools available within it).
  • Animation → Working with .fbx assets (including pre-made animations), configure Unity animation controllers, cater for both script & GUI access to use animations, creating my own animations using Unity animation (i.e. lightning strikes).
  • Working with Unity in a 3D project, however giving the final product a 2D look
  • Sound →  Singleton design of sound implementation.  A single Audio Manager that makes use of an array of sounds throughout the app when needed.
  • App navigation →  Taking care of ‘housekeeping’ when the user navigates away from a ‘page’ i.e. save PlayerPrefs as needed, reset any other variables needed.
  • Prefabs → Use of Unity Prefabs → Cleaner design & makes best use of what Unity has to offer.  Used on History/ Dickens pop-up panels, and on the menu bar.
  • Runtime generation of text content →  ‘Page’ text content generated at runtime using C# scripts, as opposed to being manually assigned in the project
  • Saving of data → PlayerPrefs utilised on app main menu screen to check if the narration sound was previously set as on/off, also to obtain the ‘continue reading’ page number
  • C# Scripts → Creating various scripts from scratch to get the functionality needed as per the design brief presented.  This design brief described what was on each ‘page’, what each characters would do and what the user would see. Utilised an external set of scripts for spline, moving objects (gruel bowl, rat) on a curve as needed
  • Use of Unity Physics Engine → Applying RigidBody to .fbx Game Objects or other Game Object types as needed.  Utilising variables as needed, such as Is Kinematic, Freeze Position, Freeze Rotation, etc.
  • Use of Unity Collider
  • Particle effects → Utilising Unity Particle System to create particle effect from both a static point and particle effects on a moving Game Object. Creating my own material in addition to using Unity’s standard options
  • Debugging → Using Stacktrace (System.Diagnostics) and MethodBase (System.Reflection) to get metadata on the runtime processes.  Also using breakpoints within the code.
  • Applications used → Unity 3D (game engine), Microsoft Visual Studio (for creating C# scripts), GitHub, Toggle (time recording/reporting)

Language Teaching Apps

Bulgarian By A Brit apps are made using Unity.  Programming in C#, loading  locally saved audio, JSON formatted .txt doc to Class object, 2D GUI, audio manager, player preferences management, custom scripts, efficient use of Unity components and more! 

Bulgarian By A Brit apps are made using Unity.

Key overview of the project elements:

  • Bespoke C# scripts
  • Built using Unity
  • Multi Screen
  • Internet Browser Launch Buttons –  Visit website  |  Google Play Store
  • Playable Sounds – mp3 format
  • Custom App Icon – App launch icon image displayed on devices
  • Volume Setting 
  • Integration of Google AdMobs
  • Loading content at runtime (audio and text/ numeric data)
  • JSON formatted .txt doc to Class object
  • 2D GUI
  • Saving player preferences on users device

Google Play:

Store Presence → Writing app descriptions (full, short), assigning product details images (icon, screenshots, feature graphic)

Release Management → Closed track testing (assigning testers, managing .apk’s), obtaining feedback asking testers to test certain things, updating .apks based on feedback.  > Assessing Pre-launch reports provided by Google (crashes, Android compatibility, performance, security & privacy, Accessibility)

Reporting → Generating & assessing reports (installs, revenue, customer ratings, crashes & ANR’s)

Unity & Android:

> Google Play usage of Android Advertising ID policy and section 4.8 of the Developer Distribution Agreement policies

> 64-bti compatibility on Google Play – starting August 1, 2019. Options available for Unity, making the project 64 bit compatible and the choice of an .apk or Android App Bundle