|
| 1 | +<h2 id="about">About</h2> |
| 2 | +<p>This open-source package contains a collection of handy scripts like math algorithms (E.g. Vector & Quaternion helpers) for the Unity3D runtime environment and the Editor as well.</p> |
| 3 | +<p>Checkout the <a href="#features">Features</a> section below for more information about the specific use cases and available helper scripts.</p> |
| 4 | +<h2 id="support">Support</h2> |
| 5 | +<p>Since I am developing and maintaining this asset package in my spare time, feel free to <a href="https://paypal.me/NikosProjects">support me</a> or by checking out my other <a href="https://assetstore.unity.com/publishers/52812">published assets</a>.</p> |
| 6 | +<h2 id="documentation">Documentation</h2> |
| 7 | +<p>See the API doc <a href="https://niggo1243.github.io/Unity3DHelperTools/annotated.html">here</a></p> |
| 8 | +<h2 id="setup">Setup</h2> |
| 9 | +<h3 id="unity-package-dependency">Unity Package Dependency</h3> |
| 10 | +<p>To add this toolkit as a package dependency to your Unity project, |
| 11 | +locate your manifest file in "Package/manifest.json".</p> |
| 12 | +<p>First you need to add the "scopedRegistry" information to the manifest |
| 13 | +in order to resolve dependencies used by this toolkit.</p> |
| 14 | +<p>The current dependency is a fork with performance improvements (<a href="https://github.com/niggo1243/NaughtyAttributes">https://github.com/niggo1243/NaughtyAttributes</a>) of the original open-source project NaughtyAttributes by dbrizov: |
| 15 | +<a href="https://github.com/dbrizov/NaughtyAttributes">https://github.com/dbrizov/NaughtyAttributes</a></p> |
| 16 | +<p>Add this snipped somewhere adjacent to the "dependencies" section in the manifest.json:</p> |
| 17 | +<pre><code><span class="hljs-string">"scopedRegistries"</span>: |
| 18 | +[ |
| 19 | + { |
| 20 | + <span class="hljs-string">"name"</span>: <span class="hljs-string">"NaughtyAttributesPerfFork"</span>, |
| 21 | + <span class="hljs-string">"url"</span>: <span class="hljs-string">"https://upm-packages.dev"</span>, |
| 22 | + <span class="hljs-string">"scopes"</span>: [ |
| 23 | + <span class="hljs-string">"com.nikosassets.naughtyattributes"</span> |
| 24 | + ] |
| 25 | + } |
| 26 | +] |
| 27 | +</code></pre><p>Lastly add the following line to the "dependencies" section:</p> |
| 28 | +<p>"com.nikosassets.u3dhelpertools": "<a href="https://github.com/niggo1243/Unity3DHelperTools.git#upm">https://github.com/niggo1243/Unity3DHelperTools.git#upm</a>"</p> |
| 29 | +<p>You can also choose specific releases and tags after the "#" instead of "upm".</p> |
| 30 | +<p>The final result should look something like this in your manifest.json:</p> |
| 31 | +<pre><code>{ |
| 32 | + <span class="hljs-string">"scopedRegistries"</span>: |
| 33 | + [ |
| 34 | + { |
| 35 | + <span class="hljs-string">"name"</span>: <span class="hljs-string">"NaughtyAttributesPerfFork"</span>, |
| 36 | + <span class="hljs-string">"url"</span>: <span class="hljs-string">"https://upm-packages.dev"</span>, |
| 37 | + <span class="hljs-string">"scopes"</span>: [ |
| 38 | + <span class="hljs-string">"com.nikosassets.naughtyattributes"</span> |
| 39 | + ] |
| 40 | + } |
| 41 | + ], |
| 42 | + <span class="hljs-string">"dependencies"</span> |
| 43 | + { |
| 44 | + <span class="hljs-string">"com.nikosassets.u3dhelpertools"</span>: <span class="hljs-string">"https://github.com/niggo1243/Unity3DHelperTools.git#upm"</span> |
| 45 | + } |
| 46 | +} |
| 47 | +</code></pre><p>Or alternatively (without git urls):</p> |
| 48 | +<pre><code>{ |
| 49 | + <span class="hljs-string">"scopedRegistries"</span>: |
| 50 | + [ |
| 51 | + { |
| 52 | + <span class="hljs-string">"name"</span>: <span class="hljs-string">"NaughtyAttributesPerfFork"</span>, |
| 53 | + <span class="hljs-string">"url"</span>: <span class="hljs-string">"https://upm-packages.dev"</span>, |
| 54 | + <span class="hljs-string">"scopes"</span>: [ |
| 55 | + <span class="hljs-string">"com.nikosassets.naughtyattributes"</span> |
| 56 | + ] |
| 57 | + }, |
| 58 | + { |
| 59 | + <span class="hljs-string">"name"</span>: <span class="hljs-string">"Unity3DHelperTools"</span>, |
| 60 | + <span class="hljs-string">"url"</span>: <span class="hljs-string">"https://upm-packages.dev"</span>, |
| 61 | + <span class="hljs-string">"scopes"</span>: [ |
| 62 | + <span class="hljs-string">"com.nikosassets.u3dhelpertools"</span> |
| 63 | + ] |
| 64 | + } |
| 65 | + ], |
| 66 | + <span class="hljs-string">"dependencies"</span> |
| 67 | + { |
| 68 | + <span class="hljs-string">"com.nikosassets.u3dhelpertools"</span>: <span class="hljs-string">"1.1.0"</span> |
| 69 | + } |
| 70 | +} |
| 71 | +</code></pre><h3 id="unity-project">Unity Project</h3> |
| 72 | +<p>You can simply download a (release) zip file or just clone this project via the git command: </p> |
| 73 | +<pre><code>git <span class="hljs-keyword">clone</span> <span class="hljs-title">--recursive</span> https://github.com/niggo1243/Unity3DHelperTools.git |
| 74 | +</code></pre><h2 id="features">Features</h2> |
| 75 | +<p>You can find example Scenes under "Assets/NikosAssets/U3DHelperTools/Samples/Scenes"</p> |
| 76 | +<h3 id="monobehaviours">MonoBehaviours</h3> |
| 77 | +<ul> |
| 78 | +<li>Keep the Scene view in focus after pressing the play button:</li> |
| 79 | +</ul> |
| 80 | +<p><img src="https://github.com/niggo1243/Unity3DHelperTools/raw/master/Assets/NikosAssets/U3DHelperTools/Documentation/KeepSceneViewInFocus.PNG" alt="Image"></p> |
| 81 | +<ul> |
| 82 | +<li>Look at a target with special settings and constraints:</li> |
| 83 | +</ul> |
| 84 | +<p><img src="https://github.com/niggo1243/Unity3DHelperTools/raw/master/Assets/NikosAssets/U3DHelperTools/Documentation/LookAt_Example.gif" alt="Image"></p> |
| 85 | +<ul> |
| 86 | +<li>Alarm clock event emitter:</li> |
| 87 | +</ul> |
| 88 | +<p><img src="https://github.com/niggo1243/Unity3DHelperTools/raw/master/Assets/NikosAssets/U3DHelperTools/Documentation/AlarmClock.PNG" alt="Image"></p> |
| 89 | +<ul> |
| 90 | +<li>A generic list/ destination container helper class, emitting events when the list changes:</li> |
| 91 | +</ul> |
| 92 | +<p><img src="https://github.com/niggo1243/Unity3DHelperTools/raw/master/Assets/NikosAssets/U3DHelperTools/Documentation/DestinationContainer.PNG" alt="Image"></p> |
| 93 | +<ul> |
| 94 | +<li>An async Scene loader helper class, also emitting events:</li> |
| 95 | +</ul> |
| 96 | +<p><img src="https://github.com/niggo1243/Unity3DHelperTools/raw/master/Assets/NikosAssets/U3DHelperTools/Documentation/AsyncSceneLoader.PNG" alt="Image"></p> |
| 97 | +<h3 id="non-monobehaviours-but-here-wrapped-in-sample-monobehaviour-classes">Non-MonoBehaviours but here wrapped in sample MonoBehaviour classes</h3> |
| 98 | +<ul> |
| 99 | +<li>EditorUtilitiesHelper, generate scripts and open a project only file picker:</li> |
| 100 | +</ul> |
| 101 | +<p><img src="https://github.com/niggo1243/Unity3DHelperTools/raw/master/Assets/NikosAssets/U3DHelperTools/Documentation/EditorUtilities_Example.PNG" alt="Image"></p> |
| 102 | +<ul> |
| 103 | +<li>GUIHelper, to draw lines and boxes, in addition to the AlternatingListStyleHelper class:</li> |
| 104 | +</ul> |
| 105 | +<p><img src="https://github.com/niggo1243/Unity3DHelperTools/raw/master/Assets/NikosAssets/U3DHelperTools/Documentation/GUIHelper_Example.PNG" alt="Image"></p> |
| 106 | +<p>Following picture from the <a href="https://assetstore.unity.com/packages/tools/ai/aimalgam-218556">AiMalgam</a> asset (Control Panel):</p> |
| 107 | +<p><img src="https://github.com/niggo1243/Unity3DHelperTools/raw/master/Assets/NikosAssets/U3DHelperTools/Documentation/GUIHelper_AiMalgam_ColorBoxAndList.PNG" alt="Image"></p> |
| 108 | +<ul> |
| 109 | +<li>Various extension classes for object cloning, strings, NavmeshAgents, and Coroutines:</li> |
| 110 | +</ul> |
| 111 | +<p><img src="https://github.com/niggo1243/Unity3DHelperTools/raw/master/Assets/NikosAssets/U3DHelperTools/Documentation/Extensions_Example.PNG" alt="Image"></p> |
| 112 | +<ul> |
| 113 | +<li>Help with Vector, Rigidbody and Quaternion calculations (and other math stuff):</li> |
| 114 | +</ul> |
| 115 | +<p><img src="https://github.com/niggo1243/Unity3DHelperTools/raw/master/Assets/NikosAssets/U3DHelperTools/Documentation/NumericHelper_Example.PNG" alt="Image"></p> |
| 116 | +<p><img src="https://github.com/niggo1243/Unity3DHelperTools/raw/master/Assets/NikosAssets/U3DHelperTools/Documentation/RolyPoly_Example.gif" alt="Image"></p> |
| 117 | +<ul> |
| 118 | +<li>Help with targeting transforms by distance:</li> |
| 119 | +</ul> |
| 120 | +<p><img src="https://github.com/niggo1243/Unity3DHelperTools/raw/master/Assets/NikosAssets/U3DHelperTools/Documentation/TargetingHelper_Example.PNG" alt="Image"></p> |
| 121 | +<ul> |
| 122 | +<li>Generating random points in the 3D environment:</li> |
| 123 | +</ul> |
| 124 | +<p><img src="https://github.com/niggo1243/Unity3DHelperTools/raw/master/Assets/NikosAssets/U3DHelperTools/Documentation/RandomPointsHelper_Example.PNG" alt="Image"></p> |
| 125 | +<p><img src="https://github.com/niggo1243/Unity3DHelperTools/raw/master/Assets/NikosAssets/U3DHelperTools/Documentation/RandomPoints_Example.gif" alt="Image"></p> |
| 126 | +<ul> |
| 127 | +<li>Mapping strings to hashes:</li> |
| 128 | +</ul> |
| 129 | +<p><img src="https://github.com/niggo1243/Unity3DHelperTools/raw/master/Assets/NikosAssets/U3DHelperTools/Documentation/StringHasher_Example.PNG" alt="Image"></p> |
| 130 | +<ul> |
| 131 | +<li>Offering some helpful methods for collections generally:</li> |
| 132 | +</ul> |
| 133 | +<p><img src="https://github.com/niggo1243/Unity3DHelperTools/raw/master/Assets/NikosAssets/U3DHelperTools/Documentation/CollectionHelper_Example.PNG" alt="Image"></p> |
| 134 | +<ul> |
| 135 | +<li>Handy methods to retrieve type informations via reflection calls:</li> |
| 136 | +</ul> |
| 137 | +<p><img src="https://github.com/niggo1243/Unity3DHelperTools/raw/master/Assets/NikosAssets/U3DHelperTools/Documentation/ReflectionHelper_Example.PNG" alt="Image"></p> |
0 commit comments