npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

com.echo.visualstate2

v0.9.3

Published

Visual State 2 by the vietlabs.vs2 team. Manages component states with editor integration for property transitions. Redistributed as a com.echo UPM package so Echo feature modules resolve from npmjs.org.

Readme

Visual State 2 - Unity State Management Plugin

UPM package: com.echo.visualstate2 0.9.3 — authored by the vietlabs.vs2 team ([email protected]). Published to public npmjs.org under the com.echo scope so Echo feature modules can install from the registry. Assemblies VisualState2 / vietlabs.vs2 are unchanged.

Visual State 2 is a powerful Unity plugin that helps manage and transition between different states of GameObjects and their components. It provides an intuitive way to record, store, and apply property states, making it ideal for UI transitions, animation states, or any scenario where you need to manage multiple object states.

Key Features

  • 🎛️ Manage multiple states of GameObjects and their components
  • ⏺️ Record and store property states with ease
  • ⚡ FastChain technology for optimized performance
  • 🖱️ Editor integration for state management
  • 🔄 Smooth transitions between states
  • 🧩 Works with any Unity component
  • 🔧 Smart property mapping for Unity's internal serialization
  • 🎯 Silent handling of unsupported properties

Getting Started

Usage

  1. In Unity Editor, select a GameObject
  2. Add VisualState2 component
  3. Create new states using the "+" button
  4. Hit Record, and start making changes for each state
  5. Transition between states using the state buttons in Editor or via code:
visualState.SetState("StateName");

Detailed Architecture

Core Components

  1. VisualState2.cs

    • Main controller for state management
    • Handles state recording, storage, and transitions
    • Implements FastChain optimization
    • Provides public API for state manipulation
  2. VModData.cs

    • Serializable class for storing state information
    • Contains property values and metadata
    • Optimized for efficient serialization
  3. Chain & FastChain System

    • Property access optimization layer
    • Caches property getters/setters
    • Reduces reflection overhead
    • Implements custom property handlers for common Unity types
  4. PropertyPathMapper.cs

    • Centralized mapping for Unity's internal serialization paths
    • Handles special cases like Renderer materials and Light shadows
    • Excludes unsupported Unity event system properties
    • Extensible architecture for adding new mappings