![]() |
LayerProcGen v0.4.0
Layer-based infinite procedural generation
|
Although only tested in Unity, LayerProcGen is designed to run in any C#-compatible engine by having the core framework not depend on any Unity assemblies or API.
The contents of these folders depend on Unity API and can be removed:
Here is a diagram of the assemblies and the dependencies between them:
The Interop/UnitySpecific folder is just conversions between LayerProcGen types and Unity types like Vector2 and Vector3. Even without removing it, the code should still compile outside of Unity since Unity-dependent parts are wrapped in #if UNITY_2019_4_OR_NEWER.
The Unity folder contains Unity engine hooks and utilities in a variety of classes as noted below. Some of these may be useful as reference points if you wish to implement equivalent functionality in another engine.
There are Unity components serving as wrapper classes which ensure central objects are created.
There are a few classes that assist with handling lifetime of Unity Objects across the boundary between generation threads and the main thread. No equivalent may be needed in other engines if they allow engine object manipulation outside of the main thread.
Furthermore there are some non-critical but still useful utilities that have fully or partially Unity-dependent implementations. See the Utilities page for details on which ones.