From 83f9737b0209a11ba3f1f004a6bf26a784955e59 Mon Sep 17 00:00:00 2001 From: Oliver Booth Date: Fri, 31 Mar 2023 22:57:09 +0100 Subject: [PATCH] [ci skip] docs(repo): add tailored README for X10D.Unity --- README.md | 6 +----- X10D.Unity/README.md | 36 ++++++++++++++++++++++++++++++++++ X10D.Unity/branding_Unity.png | Bin 0 -> 27034 bytes 3 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 X10D.Unity/README.md create mode 100644 X10D.Unity/branding_Unity.png diff --git a/README.md b/README.md index ef15418..7c85f52 100644 --- a/README.md +++ b/README.md @@ -24,11 +24,7 @@ Install-Package X10D -Version 3.1.0 Download the [latest release](https://github.com/oliverbooth/X10D/releases/latest) from this repository and adding a direct assembly reference for your chosen platform. ### Unity installation -Starting with Unity 2021.2, support for .NET Standard 2.1 has been added. With this change, I am confident providing support for this version for the time being, with only minimal feature-loss. -To add X10D into your Unity project, goto the [Package Manager window](https://docs.unity3d.com/Manual/upm-ui.html), and choose to install from a Git URL, and use the URL https://github.com/oliverbooth/X10D.git#upm - -Parity with the main branch of X10D, and full .NET 6 feature support, is planned - but a timeline is not yet available. Unity plan to add .NET 6 support in the near future. -For more information, see [this forum post](https://forum.unity.com/threads/unity-future-net-development-status.1092205/). +For the Unityy installation guide, refer to the [README.md in X10D.Unity](X10D.Unity/README.md). ## Features I'm planning on writing complete and extensive documentation in the near future. As of this time, feel free to browse the source or the API using your favourite IDE. diff --git a/X10D.Unity/README.md b/X10D.Unity/README.md new file mode 100644 index 0000000..7a2ae20 --- /dev/null +++ b/X10D.Unity/README.md @@ -0,0 +1,36 @@ +

+

+GitHub Workflow Status + +MIT License +

+ +### About +X10D (pronounced *extend*), is a .NET package that provides extension methods for numerous types. The purpose of this library is to simplify a codebase by reducing the need for repeated code when performing common operations. Simplify your codebase. Take advantage of .NET. Use extension methods. + +*(I'm also [dogfooding](https://www.pcmag.com/encyclopedia/term/dogfooding) this library, so there's that.)* + + +### Preface +Parity with the main branch of X10D, and full .NET feature support, is planned. Unity plan to add CoreCLR and native NuGet support in the future, but no timeline is available. +For more information, see [this forum post](https://forum.unity.com/threads/unity-future-net-development-status.1092205/). + +## Installation +You must be using Unity 2021.3 LTS or later to add this package. +### Using the Unity Package Manager (UPM) +To install X10D in Unity, follow the steps blow: +1. Navigate to the [Package Manager window](https://docs.unity3d.com/Manual/upm-ui.html), under `Window > Package Manager` +2. Hit the `+` icon and select `Add package from git URL...` +3. Enter the following URL: https://github.com/oliverbooth/X10D.git#upm and hit the Add button +4. Profit! + +The [upm](https://github.com/oliverbooth/X10D/tree/upm) branch contains the latest nightly - that is the bleeding edge version of X10D. +If you'd like to remain on a stable release, specify a commit hash after the `#` instead of `upm`. +The latest current stable is 3.1.0, which is commit [9f3b09661b09e83690318370eea808e70dd4a72c](https://github.com/oliverbooth/X10D/commit/9f3b09661b09e83690318370eea808e70dd4a72c). +Keep in mind that referencing a specific commit rather than the `upm` branch will prevent the auto-updater in Unity from detecting new versions. + +## Contributing +Contributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md). + +## License +X10D is released under the MIT License. See [here](https://github.com/oliverbooth/X10D/blob/master/LICENSE.md) for more details. diff --git a/X10D.Unity/branding_Unity.png b/X10D.Unity/branding_Unity.png new file mode 100644 index 0000000000000000000000000000000000000000..dec1ea2ae2f2c2b54ee7b024ece1870bd46dbd98 GIT binary patch literal 27034 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 *( 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 J>bmRW{{a=%Y!Lte literal 0 HcmV?d00001