Giter Site home page Giter Site logo

unity3dazure / unityapplicationinsights Goto Github PK

View Code? Open in Web Editor NEW
14.0 3.0 3.0 283 KB

Application Insights for Unity. Track scene user flow, Unity UI button and Mixed Reality interaction events

Home Page: https://www.deadlyfingers.net/code/analytics-for-mixed-reality

License: MIT License

C# 100.00%
azure application-insights unity3d unity-ui mixed-reality ibex-dashboard kusto

unityapplicationinsights's Introduction

Analytics for Unity with Azure Application Insights

This is a sample Unity project showing how to track button events and Mixed Reality event telemetry using Application Insights.

Setup

  1. Create new Application Insights service in Azure
  2. Copy and paste your Application Insights Instrumentation Id into the Application Insights Unity scene script.
  3. (Optional) You may also wish to add your App Id and (read only) Key for running Application Insights Query scripts.

How it works

Add one instance of the UnityApplicationInsights scripts into your main Unity scene.

  • Unity scene changes are automically captured as a PageView event.

  • To add logging to Application Insights for Unity UI buttons you can either manually attach the ButtonTrackerBehaviour to the Unity button, or enable the Add Tracker Behaviours setting in the Inspector which will attach the script automatically to all selectable game objects upon scene change.

Application Insights sample scenes

Scene name Description
Scene-UI Unity UI Button event telemetry sample scene
Scene-MR Interactive hologram event sample scene for Mixed Reality

Application Insights visualisations

In Application Insights Usage section you can visualise telemetry logged from your app.

User Flows

Chart user flow across Unity scene changes and split by custom or interaction events.

App Insights User Flows

Sessions

View users and events during sessions.

App Insights User Sessions

Funnels

Create funnels by creating step by step conditions to get conversion rates.

App Insights Funnels

Retention

Review returning users over a period of time.

App Insights Retention

Custom visualization of Unity UI and MR telemetry

To create custom visualizations using all the data collected by Application Insights you can use the Ibex Dashboard. Fork the project and copy the Unity UI template or MR template file into the server/dashboards/preconfigured directory. You should then be able to create your own dashboard by using these templates in the app.

Custom Dashboard for Unity UI interactions

Custom Dashboard for Unity MR interactions

Dependencies

Json.Net is currently required to serialize Dictionary objects in Unity.

Optional dependencies

Optional dependencies are included as git submodules which can be installed after cloning:

git submodule update --init --recursive

The Voronoi selection sample code is commented out inside the Scripts/MR/Tap.cs script.

Voronoi selection is useful in Mixed Reality scenarios for selecting holograms which may be small and close together or even overlap. In relation to capturing telemetry in MR scenarios we might want to capture Air Taps on holograms. But what happens when a user taps on void spaces which may have missed the target. We can log any useful metrics regarding nearest objects to Application Insights or even enable the closest object to be triggered.

Removed dependencies

I decided to remove the dependency on the Application Insights Plugins as it only supported Windows devices.

Related documentation

Related projects

unityapplicationinsights's People

Contributors

deadlyfingers avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

unityapplicationinsights's Issues

Nested Custom Dimensions?

I'm not sure if this still being looked at since it's been a few years since any updates were made. This package still works as expected in 2020.1 which is great. We're in need of nested dimensions, but can only get a single value for each custom event. Is this possible? Hopefully this package is still somewhat being watched.

Thanks.

Readme images

Application Insights Usage screenshots for readme

User flow
applicationinsights-userflow

Sessions
applicationinsights-sessions

Funnels
applicationinsights-funnels

Ibex Dashboard screenshots

Unity UI Button
ibexdashboard-unityui

Dashboard for Mixed Reality interactions
ibexdashboard-unitymr

Application version is empty

When looking at the events uploaded from the plugin, then the Application Version is empty.
billede
I would have expected it to be the version set in the Player Settings.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.