Tools for working with geographically aware features on iOS and Android
GitHub Link: https://github.com/stevenjt/GeoLocation
No more updates are planned for UE5, please see the README in the GitHub repo as to how to continue using it as a project plugin in existing UE4 projects. For UE5 the plugin does compile but it has not been tested on any devices.
New in version 1.2 (UE 4.20+): New feature, Geo Heading Component. This provides the current heading of devices with magnetometers to Magnetic North on iOS/Android. On iOS and Android this component can also provide the current heading to True North.
GeoLocation provides components and tools that make developing geographically aware features easier in Unreal Engine 4. It can be used from both Blueprint and C++ with support for iOS and Android platforms. Geo location data will be as accurate as possible given what each platform/device hardware allows.
When running in the Unreal Editor a set of global functions are included that can set a simulated location for testing and development.
Components for the plugin can be found in the Add Component menu for Blueprints in the "GeoLocation" category. Global Blueprint functions can be found under the "Geo Location" category when adding a new node to a Blueprint graph.
The headers for the components and static function classes are accessible to use from C++.
Note: The map and sphere in the example project are provided as simple examples of how this plugin could be used. The plugin does not provide a mapping/tile service, but it could be integrated with one.
Example project (Requires Microsoft Visual Studio to be installed): https://www.dropbox.com/s/kvpq4gfnskkgx2a/GeoLocationExample-1.3.1.zip?dl=1
This plugin contains a single module "GeoLocation" which contains components for Geo Locations, Heading, Geo Fences and Distance Tracking. It also provides a set of global functions for utility functions relating to geo location data and setting platform specific settings for iOS and Android.
Geo Location Components can be added to actors to provide geo location data using update events.
Geo Location Positions are used for location data returned from the Geo Location Component and have Latitude and Longitude values as well as various other data returned from the device.
Geo Heading Components can provide the current heading of devices with magnetometers to Magnetic North on iOS/Android. On iOS and Android this component can also provide the current heading to True North.
There are 3 Geo Fence Components, Circle, Rectangle and Polygon. These can be used to define Geo Fence areas.
Distance Tracker Components can track the distance travelled by a device and provide the current speed they are travelling at based on the change of geo locations.
iOS Specific Details:
- iOS 10 requires a description of how an app will use location data access (NSLocationWhenInUseUsageDescription in the Plist). The plugin automatically sets this in the project settings for iOS (Project Settings -> iOS -> AdditionalPlistData). New values for the description will be kept and not overwritten by the plugin.
Support Email: firstname.lastname@example.org