https://github.com/maxartz15/scriptabledata
For ScriptableObject workflow.
https://github.com/maxartz15/scriptabledata
scriptabledata scriptableobject unity unity3d
Last synced: 19 days ago
JSON representation
For ScriptableObject workflow.
- Host: GitHub
- URL: https://github.com/maxartz15/scriptabledata
- Owner: maxartz15
- License: mit
- Created: 2021-12-22T10:55:44.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-05-12T08:14:06.000Z (almost 3 years ago)
- Last Synced: 2025-04-05T00:45:56.636Z (25 days ago)
- Topics: scriptabledata, scriptableobject, unity, unity3d
- Language: C#
- Homepage:
- Size: 21.5 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# ScriptableData
## Data
ScriptableData stores runtime data to be accessed by scripts that reference the ScriptableObject. It has a OnValueChangedEvent to subscribe when data changes.
With this workflow you can remove dependencies and increase flexibility.
### Extendable Data:
```C#
public class ScriptableData : ScriptableObject {}
public class ScriptableData : ScriptableObject {}
public class ScriptableData : ScriptableObject {}
public class ScriptableData : ScriptableObject {}
```
### Example:
```C#
[CreateAssetMenu(menuName = "ScriptableData/Data/Vector3", order = 147)]
public class SDVector3 : ScriptableData {}
```
## Events
ScriptableEvent does not contain any runtime data but can be used to send events (with data) around.
### Base Event
```C#
[CreateAssetMenu(menuName = "ScriptableData/Event/Event", order = 147)]
public class ScriptableEvent : ScriptableObject {}
```
### Extendable Events:
```C#
public class ScriptableEvent : ScriptableObject {}
public class ScriptableEvent : ScriptableObject {}
public class ScriptableEvent : ScriptableObject {}
public class ScriptableEvent : ScriptableObject {}
```
### Example:
```C#
[CreateAssetMenu(menuName = "ScriptableData/Event/Vector3", order = 147)]
public class SEVector3 : ScriptableEvent {}
```
## ExtendedScriptableObjectDrawer
If you don't want to use the extended drawer, use the `[NonExpandable]` attribute.
### Example:
```C#
[NonExpandable]
public SEVector3 myVector3;
```## Install
[Installing from a Git URL](https://docs.unity3d.com/Manual/upm-ui-giturl.html)[Unitypackage](https://github.com/maxartz15/ScriptableData/releases)
## LICENSE
Overall package is licensed under [MIT](/LICENSE.md), unless otherwise noted in the [3rd party licenses](/THIRD%20PARTY%20NOTICES.md) file and/or source code.