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.7quark.unity-atoms

v4.4.6

Published

Tiny modular pieces utilizing the power of Scriptable Objects

Readme

⚛️ Unity Atoms

openupm openupm openupm openupm openupm openupm openupm openupm

Tiny modular pieces utilizing the power of Scriptable Objects

Influences

Unity Atoms is derived from and a continuation of Ryan Hipple's talk from Unite 2017. The original source code can be found here.

This talk by Richard Fine is a forerunner to Ryan Hipple's talk during Unite 2016.

Motivation

The general approach to building scripts in Unity often generates a code base that is monolithic. This results in that your code is cumbersome to test, non-modular and hard to debug and understand.

Unity Atoms is an open source library that aims to make your game code:

  • 📦 Modular - avoid scripts and systems directly dependent on each other
  • ✏️ Editable - Scriptable Objects makes it possible to make changes to your game at runtime
  • 🐛 Debuggable - modular code is easier to debug than tightly coupled code

Installation

NPM

Prerequisite: Since Unity Atoms is using the Unity Package Manager (UPM) you need to use Unity version 2018.3 >=

Add the following to your manifest.json (which is located under your project location in the folder Packages):

{
    "scopedRegistries": [
        {
            "name": "NPM Registry",
            "url": "https://registry.npmjs.org",
            "scopes": [
                "com.unity-atoms.unity-atoms-core",
                "com.unity-atoms.unity-atoms-base-atoms",
                "com.unity-atoms.unity-atoms-fsm",
                "com.unity-atoms.unity-atoms-mobile",
                "com.unity-atoms.unity-atoms-mono-hooks",
                "com.unity-atoms.unity-atoms-tags",
                "com.unity-atoms.unity-atoms-scene-mgmt",
                "com.unity-atoms.unity-atoms-ui",
		        "com.unity-atoms.unity-atoms-input-system"
            ]
        }
    ],
    "dependencies": {
        ...
        "com.unity-atoms.unity-atoms-core": "4.4.5",
        "com.unity-atoms.unity-atoms-base-atoms": "4.4.5",
        "com.unity-atoms.unity-atoms-fsm": "4.4.5",
        "com.unity-atoms.unity-atoms-mobile": "4.4.5",
        "com.unity-atoms.unity-atoms-mono-hooks": "4.4.5",
        "com.unity-atoms.unity-atoms-tags": "4.4.5",
        "com.unity-atoms.unity-atoms-scene-mgmt": "4.4.5",
        "com.unity-atoms.unity-atoms-ui": "4.4.5",
	    "com.unity-atoms.unity-atoms-input-system": "4.4.5",
        ...
    }
}

Note that the core and base atoms packages are mandatory while the others are optional. If you don't want a subpackage, simply remove it from your dependencies. Note that subpackages may have additional dependencies.

OpenUPM

The package is available on the openupm registry. It's recommended to install it via openupm-cli.

# required
openupm add com.unity-atoms.unity-atoms-core
openupm add com.unity-atoms.unity-atoms-base-atoms

# optional
openupm add com.unity-atoms.unity-atoms-fsm
openupm add com.unity-atoms.unity-atoms-mobile
openupm add com.unity-atoms.unity-atoms-mono-hooks
openupm add com.unity-atoms.unity-atoms-tags
openupm add com.unity-atoms.unity-atoms-scene-mgmt
openupm add com.unity-atoms.unity-atoms-ui
openupm add com.unity-atoms.unity-atoms-input-system

Documentation

The Unity Atoms docs are now published at https://unity-atoms.github.io/unity-atoms.

Blog posts

How does it work?

Read this article on Medium for a great introduction to Unity Atoms.

Looking for support?

For questions and support please join our Discord channel.

Maintainers

We are looking for more people to join the team! Contact us if you want to jump aboard.