Tiny modular pieces utilizing the power of Scriptable Objects
Inspired of Ryan Hipple's talk from Unite 2017 this project features a set of tiny composible "Atoms" that improve modularity in your project.
Motivation • Installation • Documentation • Discord • Aknowlegements •
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:
... more in our Documentation
In the Package manager window, add a package via git url:
Core: https://github.com/unity-atoms/unity-atoms.git?path=/Packages/Core#v4.6.2
Base Atoms: https://github.com/unity-atoms/unity-atoms.git?path=/Packages/BaseAtoms#v4.6.2
for additional packages, just adjust the path
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.6.1",
"com.unity-atoms.unity-atoms-base-atoms": "4.6.1",
"com.unity-atoms.unity-atoms-fsm": "4.6.1",
"com.unity-atoms.unity-atoms-mobile": "4.6.1",
"com.unity-atoms.unity-atoms-mono-hooks": "4.6.1",
"com.unity-atoms.unity-atoms-tags": "4.6.1",
"com.unity-atoms.unity-atoms-scene-mgmt": "4.6.1",
"com.unity-atoms.unity-atoms-ui": "4.6.1",
"com.unity-atoms.unity-atoms-input-system": "4.6.1",
...
}
}
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.
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
We are looking for more people to join the team! Contact us if you want to jump aboard.
(top 30 of 31)
C#
98.6%
JavaScript
1.0%
Tiny modular pieces utilizing the power of Scriptable Objects
Inspired of Ryan Hipple's talk from Unite 2017 this project features a set of tiny composible "Atoms" that improve modularity in your project.
Motivation • Installation • Documentation • Discord • Aknowlegements •
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:
... more in our Documentation
In the Package manager window, add a package via git url:
Core: https://github.com/unity-atoms/unity-atoms.git?path=/Packages/Core#v4.6.2
Base Atoms: https://github.com/unity-atoms/unity-atoms.git?path=/Packages/BaseAtoms#v4.6.2
for additional packages, just adjust the path
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.6.1",
"com.unity-atoms.unity-atoms-base-atoms": "4.6.1",
"com.unity-atoms.unity-atoms-fsm": "4.6.1",
"com.unity-atoms.unity-atoms-mobile": "4.6.1",
"com.unity-atoms.unity-atoms-mono-hooks": "4.6.1",
"com.unity-atoms.unity-atoms-tags": "4.6.1",
"com.unity-atoms.unity-atoms-scene-mgmt": "4.6.1",
"com.unity-atoms.unity-atoms-ui": "4.6.1",
"com.unity-atoms.unity-atoms-input-system": "4.6.1",
...
}
}
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.
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
We are looking for more people to join the team! Contact us if you want to jump aboard.
(top 30 of 31)
C#
98.6%
JavaScript
1.0%