From 9b5c0a78b5c3d0f7d94214f5003573b36dc88f23 Mon Sep 17 00:00:00 2001 From: Greg Poole Date: Wed, 26 Jun 2019 21:14:04 +1000 Subject: [PATCH] Update readme to explain how to install --- README.md | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 7f89dce..f46b32f 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ [Support Me on Ko-fi](https://ko-fi.com/Z8Z5DYWA) ### xNode + Thinking of developing a node-based plugin? Then this is for you. You can download it as an archive and unpack to a new unity project, or connect it as git submodule. xNode is super userfriendly, intuitive and will help you reap the benefits of node graphs in no time. @@ -19,24 +20,39 @@ With a minimal footprint, it is ideal as a base for custom state machines, dialo

+### Installing with Unity Package Manager + +To install this project as a dependency using the Unity Package Manager, +add the following line to your project's `manifest.json`: + +``` +"com.github.siccity.xnode": "git+https://github.com/siccity/xNode", +``` + +Then, to access the `XNode` namespace from your code, make sure you have a valid [Assembly Definition](https://docs.unity3d.com/Manual/ScriptCompilationAssemblyDefinitionFiles.html) set up, +with `xNode` set as an Assembly Reference. + ### Key features -* Lightweight in runtime -* Very little boilerplate code -* Strong separation of editor and runtime code -* No runtime reflection (unless you need to edit/build node graphs at runtime. In this case, all reflection is cached.) -* Does not rely on any 3rd party plugins -* Custom node inspector code is very similar to regular custom inspector code -* Supported from Unity 5.3 and up + +- Lightweight in runtime +- Very little boilerplate code +- Strong separation of editor and runtime code +- No runtime reflection (unless you need to edit/build node graphs at runtime. In this case, all reflection is cached.) +- Does not rely on any 3rd party plugins +- Custom node inspector code is very similar to regular custom inspector code +- Supported from Unity 5.3 and up ### Wiki -* [Getting started](https://github.com/Siccity/xNode/wiki/Getting%20Started) - create your very first node node and graph -* [Examples branch](https://github.com/Siccity/xNode/tree/examples) - look at other small projects + +- [Getting started](https://github.com/Siccity/xNode/wiki/Getting%20Started) - create your very first node node and graph +- [Examples branch](https://github.com/Siccity/xNode/tree/examples) - look at other small projects ### Node example: + ```csharp // public classes deriving from Node are registered as nodes for use within a graph public class MathNode : Node { - // Adding [Input] or [Output] is all you need to do to register a field as a valid port on your node + // Adding [Input] or [Output] is all you need to do to register a field as a valid port on your node [Input] public float a; [Input] public float b; // The value of an output node field is not used for anything, but could be used for caching output results @@ -46,7 +62,7 @@ public class MathNode : Node { // The value of 'mathType' will be displayed on the node in an editable format, similar to the inspector public MathType mathType = MathType.Add; public enum MathType { Add, Subtract, Multiply, Divide} - + // GetValue should be overridden to return a value for any specified output port public override object GetValue(NodePort port) {