Convert Figma logo to code with AI

Tayx94 logography

Graphy is the ultimate, easy to use, feature packed FPS counter, stats monitor and debugger for your Unity project.

2,480
213
2,480
9

Top Related Projects

1,878

Creative coding library for Unity

Procedural generation library for Unity

Quick Overview

Graphy is a powerful and customizable charting and graphing solution for Unity. It provides a wide range of graph types and features, allowing developers to create visually appealing and informative data visualizations within their Unity projects. Graphy is designed to be easy to use while offering extensive customization options.

Pros

  • Extensive range of graph types and visualization options
  • High performance and optimized for Unity
  • Highly customizable with a user-friendly interface
  • Active development and community support

Cons

  • Limited documentation for advanced features
  • May require some learning curve for complex customizations
  • Potential performance impact on resource-constrained devices
  • Some features may require Pro version or additional purchases

Code Examples

  1. Creating a basic line graph:
using Tayx.Graphy;

public class GraphExample : MonoBehaviour
{
    void Start()
    {
        GraphyManager.Instance.LineGraph.AddLine("MyLine", Color.red);
        GraphyManager.Instance.LineGraph.AddPoint("MyLine", 0, 0);
        GraphyManager.Instance.LineGraph.AddPoint("MyLine", 1, 5);
        GraphyManager.Instance.LineGraph.AddPoint("MyLine", 2, 3);
    }
}
  1. Customizing graph appearance:
GraphyManager.Instance.LineGraph.SetAxisColor(Color.white);
GraphyManager.Instance.LineGraph.SetBackgroundColor(Color.black);
GraphyManager.Instance.LineGraph.SetLabelColor(Color.yellow);
  1. Adding real-time data to a graph:
void Update()
{
    float currentTime = Time.time;
    float value = Mathf.Sin(currentTime);
    GraphyManager.Instance.LineGraph.AddPoint("SineWave", currentTime, value);
}

Getting Started

  1. Import the Graphy package into your Unity project.
  2. Add the GraphyManager prefab to your scene.
  3. Access Graphy functionality through the GraphyManager.Instance:
using Tayx.Graphy;

public class MyScript : MonoBehaviour
{
    void Start()
    {
        GraphyManager.Instance.Enable();
        GraphyManager.Instance.LineGraph.AddLine("MyData", Color.green);
    }

    void Update()
    {
        // Add data points or customize graphs as needed
        GraphyManager.Instance.LineGraph.AddPoint("MyData", Time.time, Random.Range(0f, 10f));
    }
}

Competitor Comparisons

1,878

Creative coding library for Unity

Pros of Klak

  • Broader scope, offering various Unity utilities beyond graphing
  • More active development with frequent updates
  • Includes advanced features like MIDI support and VFX graph integration

Cons of Klak

  • Steeper learning curve due to its wider feature set
  • Less focused on graphing specifically compared to Graphy
  • May include unnecessary components for projects only needing graphing functionality

Code Comparison

Graphy (simple FPS counter setup):

[SerializeField] private GraphyManager m_GraphyManager;

void Start()
{
    m_GraphyManager.EnableFpsMonitor();
}

Klak (setting up a simple oscillator):

[SerializeField] Klak.Math.Oscillator oscillator;

void Update()
{
    float value = oscillator.Step();
    transform.position = Vector3.up * value;
}

Both repositories provide useful tools for Unity developers, but they serve different purposes. Graphy is more focused on performance monitoring and graphing, while Klak offers a wider range of utilities for creative coding in Unity. The choice between them depends on the specific needs of your project.

Procedural generation library for Unity

Pros of ProceduralToolkit

  • Broader scope, offering a wide range of procedural generation tools
  • More comprehensive documentation and examples
  • Active development and community support

Cons of ProceduralToolkit

  • Steeper learning curve due to its extensive feature set
  • May include unnecessary features for projects focused solely on graphing
  • Potentially higher performance overhead for simple graphing tasks

Code Comparison

Graphy (creating a simple line graph):

[SerializeField] private GraphyManager m_GraphyManager;

void Start()
{
    m_GraphyManager.GraphyMode = GraphyManager.Mode.FULL;
}

ProceduralToolkit (creating a simple line):

using ProceduralToolkit;

void Start()
{
    var line = new Line3(Vector3.zero, Vector3.one);
    Debug.DrawLine(line.origin, line.GetPoint(1), Color.white, 1);
}

While Graphy is specifically designed for performance monitoring and graphing, ProceduralToolkit offers a broader set of tools for procedural generation. Graphy provides a more streamlined approach to creating graphs, while ProceduralToolkit requires more setup but offers greater flexibility for various procedural generation tasks.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Graphy - Ultimate FPS Counter - Stats Monitor & Debugger (Unity)

openupm License: MIT Unity 2019.4+

Open Issues Downloads Contributors Stars Forks

Chat Discord

Twitter

Links: Discord | Mail | Twitter | Asset store | Forum post | Donations

WINNER of the BEST DEVELOPMENT ASSET in the Unity Awards 2018.

Graphy Image

Graphy is the ultimate, easy to use, feature packed FPS Counter, stats monitor and debugger for your Unity project.

Main Features:

  • Graph & Text:
    • FPS
    • Memory
    • Audio
  • Advanced device information
  • Debugging tools

With this tool you will be able to visualize and catch when your game has some unexpected hiccup or stutter, and act accordingly!

The debugger allows you to set one or more conditions, that if met will have the consequences you desire, such as taking a screenshot, pausing the editor, printing a message to the console and more! Even call a method from your own code if you want!

Additional features:

  • Customizable look and feel
  • Multiple layouts
  • Custom Inspector
  • Hotkeys
  • Easy to use API (accessible from code)
  • Works on multiple platforms
  • Background Mode
  • Works from Unity 5.4 and up!
  • Well documented C# and Shader code included

Links:

Contact:

Installation

  1. The package is available on the openupm registry. You can install it via openupm-cli.
openupm add com.tayx.graphy
  1. You can add this package in Unity Package Manager by adding it to the Scoped Registries at Edit > Project Settings > Package Manager > Scoped Registries

Add a section on the left called package.openupm.com On the right, add Name: package.openupm.com URL: https://package.openupm.com Scopes: com.openupm com.tayx.graphy

image

Then in Window > Package Manager, you can select Packages: My Registry to see Graphy as a package to download image

  1. After step 2, you can also install via git url by adding this entry in your manifest.json
{
  "dependencies": {
    ...
    "com.tayx.graphy": "https://github.com/Tayx94/graphy.git",
    ...
  }
}
  1. You can also download it from the Asset Store

  2. Click here for old version that supports Unity 5.4+: Unity 5.4+

Development of Graphy

Maintainer and main developer: Martín Pane Twitter

Graphy is FREE to use, but if it helped you and you want to contribute to its development, feel free to leave a donation!

Contributing

Let's make Graphy the go-to for stats monitoring in Unity!

I would really appreciate any contributions! Below you can find a roadmap for future planned features and optimisations that you might be able to help out with. If you want to make a big pull request, please do it on the "dev" branch.

Create a GitHub issue if you want to start a discussion or request a feature, and please label appropriately.

You can also join the Discord for active discussions with other members of the community.

Roadmap

Planned features (No ETA):

  • Add GfxDriver stats to the RAM module.
  • Scale Canvas (GetComponent().scaleFactor *= multiplier;) -> If it changes, set again.
  • Make a template for a graph + text module so people can create their own easily.
  • Allow storing FPS for a predetermined time to allow benchmarks.
  • Dump all Graphy Data as a string to:
    • File.
    • Send to server.
    • Send mail.
  • Add a preprocessor key #GRAPHY to avoid adding the asset in builds.

License

Graphy is released under the MIT license. Although I don't require attribution, I would love to know if you decide to use it in a project! Let me know on Twitter or by email.