Heathen Systems Core is the foundation of Heathen Engineering’s coded assets for the Unity 3D game engine. While the asset has been developed with Unity 2018 and
later in mind the code should work with Unity 5.5 and later with little or no modification. Full source code is provided with the asset from the Unity Asset Store but remains
the property of Heathen Engineering. Unity Asset Store is the only authorized distributor of Heathen Systems or any of its related components. Standard Unity Asset Store
licensing conditions apply to all Heathen Systems resources and sources and its related components, additional provisions will be considered on a case by case bases.
Note that this document will be superseded by an online resource over time and is intended as a gap fill until a proper SDK can be created.
Join us on Discord at https://discord.gg/RMGtDXV
Systems Core defines serializable bridge classes for common Unity structures and classes that are not typically serializable. These structures are designed to facilitate save and load of such data and include implicit conversions to the related Unity type.
- Serializable Color
converts to and from Unity Color and
- Serializable Quaternion
converts to and from Unity Quaternion and
- Serializable Rect Transform
converts to and from Unity RectTransform
- Serializable Transform
converts to and from Unity Transform
- Serializable Vector 2
converts to and from Vector 2
- Serializable Vector 2 Int
converts to and from Vector 2
- Serializable Vector 3
converts to and from Vector 2 and 3
- Serializable Vector 4
converts to and from Vector 2, 3 and 4
- Serializable Data Library
Indexed collection of string keyed, object
Systems Core defines Unity Scriptable Objects for most primitive types (string, float, etc.). Unity structures uch as Color and Vectors and event systems (Unity Event with and without parameters) are also available and the Scriptable system includes base classes and inspectors for easy extension and integration with existing code.
The concept is that most if not all occurrences of data types meant for designers to populate at design-time e.g. public float (example); can be replaced with public FloatReference (example) enabling the designer to choose between constant or scriptable input values e.g. ‘type it in’ or ‘reference it from elsewhere’.
Using scriptable expressions for common and player data makes it faster and easier to maintain symmetry in design, carry data between scenes or even game sessions and enables designers to define save data, save it and load it with no engineer required via the Data Library File Manager.
Components and behaviours have been designed to server designers and developers as puzzles pieces. Each component developed for a specific discrete task without dependency or awareness of the wider system.
The modularity concept insures behaviours are easily tailored to your games specific needs, reduces the work impact of changing code by isolating functionality and capitalizes on reuse of both data (scriptable objects) and functionality (modular behaviours).
Systems Core provides a set of basic components and developer tools for easy extension with additional components available in Heathen Systems UIX and Heathen Systems Extensions with more expected as Heathen Engineering continues to mature the framework.