GeoLocation - Access geographic location data on iOS, Android and HTML5


Supported Platforms
iOS, Android and HTML5

The plugin abstracts the native platforms API for supported platforms into a single component that can be easily controlled using both Blueprint and C++ in UE4. Multiple Geo Location Components are supported to allow access to location data from many different actors. Location results and their accuracy depend on the platform and device hardware.

When running in the Unreal Editor a set of global functions are included that can set a simulated location for testing and development.

Feel free to ask any questions you might have about this plugin.

I’ve just updated GeoLocation to version 1.1

The changes included in this release are as follows:


  • Distance Tracker Component

    • Can be used to track geographic distance travelled.

    • Can give the current speed the device is travelling.

    • Blueprint/C++ accessible properties: UseSpeedLimits, MaximumValidSpeed, MinimumValidSpeed

    • Blueprint/C++ accessible functions: StartDistanceTracking, StopDistanceTracking, GetDistanceTravelled, ResetDistanceTracking and IsRunning.

    • Blueprint/C++ accessible events: DistanceTravelledUpdate, SpeedUpdate, ErrorUpdate.

  • Geo Fence Components

    • Geo Fence Circle Component, Geo Fence Rectangle Component and Geo Fence Polygon Component.

    • These 3 new components can be used to set up geo fence areas either as a circular area, rectangular area or using a list of points to use a polygon for an area.

    • All 3 Geo Fence Components provide two new Blueprint/C++ events: OnGeoFenceBeginOverlap, OnGeoFenceEndOverlap. These events provide the Geo Location Component that has entered/left as a parameter.

  • Geo Location Utilities Library

    • Can be accessed both from Blueprint and C++.

    • Blueprint/C++ accessible functions: CalculateDistanceBetween, CalculatePositionOffset, GetGeoFenceRectangle, IsPositionInArea.

  • Geo Coordinate struct

    • FGeoCoordinate contains a latitude and longitude.

    • Structs work better when used as input parameters in Blueprint so all the new functions added in this release use them. Any existing functions that are Blueprint accessible that use Geo Location Position parameters will be moved to use them as input parameters in future versions.


  • Geo Location Component

    • A new property RespondsToGeoFences has been added which defaults to false. Setting this to true will make the Geo Location Component respond to Geo Fence Components.

    • Two new Blueprint/C++ events have been added that can be used to interact with Geo Fence Components when RespondsToGeoFence is set to true: OnGeoFenceBeginOverlap, OnGeoFenceEndOverlap. These events provide the Geo Fence Component that has been entered/left as a parameter.

  • Geo Location Position

    • Added CalculateDistanceTo function, which uses the CalculateDistanceBetween utility function for this position and another position. Also added GetGeoCoordinateStruct that returns a FGeoCoordinate struct with the latitude and longitude in this Geo Location Position.

If anyone has any questions about these features, or wishes to request future features they would like to see let me know here, in PMs or via email.

Does this allow to know the compass values too or only GPS coordinates?


I’m using your plugin (maybe I’m using it wrong) and it crashes my project.
I create a new project (4.21.1) and it works fine but when I add the plugin it gives me some errors:

LogPlayLevel: Error: clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
LogPlayLevel: Error: ERROR: UBT ERROR: Failed to produce item: C:\Users\etien\Documents\Unreal Projects\TestLocationIfCrash1\Binaries\Android\
LogPlayLevel: (see C:\Users\etien\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.21\UBT-TestLocationIfCrash1-Android-Development.txt for full exception trace)

LogPlayLevel: Error: ERROR: UnrealBuildTool failed. See log for more details. (C:\Users\etien\AppData\Roaming\UnrealEngine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.21\UBT-TestLocationIfCrash1-Android-Development.txt)
LogPlayLevel: (see C:\Users\etien\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.21\Log.txt for full exception trace)

@stevenjt - Just wanted to feedback that your plugin is really helping in our development at the moment :slight_smile: Thanks!

Can you tell me simply which is the blueprint node :sweat_smile: that provides me with the local coordinates of, for example, my iPhone or iPad as I move it in my city? :pray: