unity-atoms/README.md
2019-10-03 23:05:26 +02:00

2.4 KiB

⚛️ Unity Atoms

Tiny modular pieces utilizing the power of Scriptable Objects

Influences

Unity Atoms is derrived 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

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:

{
    "scopedRegistries": [
        {
            "name": "NPM Registry",
            "url": "https://registry.npmjs.org",
            "scopes": [
                "com.mambojambostudios.unity-atoms-core",
                "com.mambojambostudios.unity-atoms-mobile",
                "com.mambojambostudios.unity-atoms-tags",
                "com.mambojambostudios.unity-atoms-scene-mgmt",
                "com.mambojambostudios.unity-atoms-ui"
            ]
        }
    ],
    "dependencies": {
        ...
        "com.mambojambostudios.unity-atoms-core": "2.0.0",
        "com.mambojambostudios.unity-atoms-mobile": "2.0.0",
        "com.mambojambostudios.unity-atoms-tags": "2.0.0",
        "com.mambojambostudios.unity-atoms-scene-mgmt": "2.0.0",
        "com.mambojambostudios.unity-atoms-ui": "2.0.0",
        ...
    }
}

Note that the core package is mandatory while the others are optional. If you don't want a subpackage, simply remove it from your dependencies.

Documentation

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

How does it work?

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