Unclaimed Package Is this your package? Claim it to unlock full analytics and manage your listing.
Claim This Package

Install via UPM

Add to Unity Package Manager using this URL

https://www.pkglnk.dev/easy-tangible-table.git

README Markdown

Copy this to your project's README.md

Style
Preview
pkglnk installs badge
## Installation

Add **EasyTangibleTable** to your Unity project via Package Manager:

1. Open **Window > Package Manager**
2. Click **+** > **Add package from git URL**
3. Enter:
```
https://www.pkglnk.dev/easy-tangible-table.git
```

[![pkglnk](https://www.pkglnk.dev/badge/easy-tangible-table.svg?style=pkglnk)](https://www.pkglnk.dev/pkg/easy-tangible-table)

Dependencies (1)

README

๐Ÿงฉ EasyTangibleTable for Unity

EasyTangibleTable-Preview

Unity Platform License


๐Ÿš€ Overview

EasyTangibleTable is a lightweight Unity package for building tangible table applications using the TUIO protocol.

It allows Unity apps to detect, track, and interact with fiducial markers (tags) on interactive surfaces such as touch tables and projection systems.

The package provides:

  • a clean event-driven API
  • a component-based tag controller system
  • an extensible architecture for interactive installations and R&D projects

โš™๏ธ Features

  • โœ… Detect tangible tags using TUIO protocol
  • โœ… Track tag position, rotation, and movement
  • โœ… Event-driven architecture
  • โœ… Create custom tag behaviors
  • โœ… Support for multiple tags simultaneously
  • โœ… Built-in target alignment detection
  • โœ… Clean EasyTT API
  • โœ… Designed for interactive installations and R&D prototypes

Perfect for:

๐Ÿงฉ Tangible user interfaces ๐ŸŽฎ Interactive installations ๐Ÿงช R&D prototypes ๐Ÿ›๏ธ Museum installations ๐ŸŽฅ Multi-object interactive demos


๐Ÿ“ฆ Installation

EasyTangibleTable requires extOSC to receive TUIO messages.

Follow the installation steps in order.

1๏ธโƒฃ Install extOSC (Required) via Unity Package Manager (Git URL)

  1. Open Unity โ†’ Window โ†’ Package Manager
  2. Click + โ†’ Add package from Git URL
  3. Paste the following: https://github.com/IreshSampath/extOSC.git#upm
  4. Click Install

2๏ธโƒฃ Install EasyTangibleTable via Unity Package Manager (Git URL)

  1. Open Unity โ†’ Window โ†’ Package Manager
  2. Click + โ†’ Add package from Git URL
  3. Paste the following: https://github.com/IreshSampath/unity-assets-easy-tangible-table.git
  4. Click Install

๐Ÿงฐ Import the Samples

EasyTangibleTable-Samples

After installing the package:

  • 1๏ธโƒฃ Open Package Manager
  • 2๏ธโƒฃ Select EasyTangibleTable
  • 3๏ธโƒฃ Go to the Samples tab
  • 4๏ธโƒฃ Click Import

๐ŸŽฎ Available Sample Prefabs

EasyTangibleTable-Prefabs

Inside the imported sample, you will find two prefabs.

EasyTangibleTable

  • Receiving TUIO tag and touch data
  • Displaying tag details
  • Debug logging

โš ๏ธ EasyUIConsole is required for debug output.

EasyTangibleTable Demo

This prefab demonstrates example tag behaviours and abobe bsic functaionalties.

Example tag controllers included:

TagAController
TagBController
TagCController
TagDController

These show how to create custom tag interactions, such as:

  • rotation-based UI states
  • button interactions
  • color selection
  • alignment triggers

โš ๏ธ EasyUIConsole is required for debug output.


3๏ธโƒฃ Import EasyUIConsole

โš ๏ธ This sample requires EasyUIConsole to display the logs.

Without EasyUIConsole the system still works, but debug messages will not appear.

EasyTangibleTable-Tool

EasyTangibleTable-ControlPanels


๐Ÿง  Basic Usage

EasyTangibleTable provides a simple API via EasyTT.

Example

using GAG.EasyTangibleTable;

void OnEnable()
{
    EasyTT.TagAligned += OnTagAligned;
    EasyTT.TagRemoved += OnTagRemoved;
}

void OnDisable()
{
    EasyTT.TagAligned -= OnTagAligned;
    EasyTT.TagRemoved -= OnTagRemoved;
}

void OnTagAligned(int tagID)
{
    Debug.Log($"Tag aligned: {tagID}");
}

void OnTagRemoved(int tagID)
{
    Debug.Log($"Tag removed: {tagID}");
}

๐ŸŽฎ Create Custom Tag Behaviours

Each tangible tag can have its own controller script.

EasyTangibleTagControllerBase

Example

using GAG.EasyTangibleTable;
using UnityEngine;

public class MyCustomTagController : EasyTangibleTagControllerBase
{
    protected override void OnTargetReached()
    {
        Debug.Log("Tag reached target!");
    }

    protected override void OnTargetDeparted()
    {
        Debug.Log("Tag left target!");
    }
}

Attach this script to your tag prefab.

๐Ÿ“ก Available Events

EasyTangibleTable exposes multiple events:

EasyTT.TagPlaced
EasyTT.TagUpdated
EasyTT.TagMoved
EasyTT.TagRotated
EasyTT.ActiveTagsUpdated
EasyTT.TagAligned
EasyTT.TagAlignmentLost
EasyTT.TagRemoved

These events allow you to build complex interactions such as:

  • UI triggers
  • object manipulation
  • multi-tag interactions
  • experience control

๐ŸŽจ Example Use Cases

EasyTangibleTable can be used for:

  • tangible games
  • interactive tables
  • educational installations
  • museum exhibits
  • research experiments

๐Ÿ“œ License

IT License โ€” Free for commercial and personal use.


๐Ÿ™ Thank You

Thanks for using EasyTangibleTable!

  • Feel free to contribute

โญ Star the repo ๐Ÿž Report issues ๐Ÿš€ Suggest improvements


๐Ÿ‘ค Author

Iresh Sampath

๐Ÿ”— LinkedIn Profile

Comments

No comments yet. Be the first!