<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Arcueid</title>
    <description>The latest articles on DEV Community by Arcueid (@uurha).</description>
    <link>https://dev.to/uurha</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1009295%2F0eb56a1f-0c39-4e76-9bb2-ac19ce5f65f3.png</url>
      <title>DEV Community: Arcueid</title>
      <link>https://dev.to/uurha</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/uurha"/>
    <language>en</language>
    <item>
      <title>Better Validation</title>
      <dc:creator>Arcueid</dc:creator>
      <pubDate>Sun, 23 Jul 2023 00:12:08 +0000</pubDate>
      <link>https://dev.to/uurha/better-validation-48cj</link>
      <guid>https://dev.to/uurha/better-validation-48cj</guid>
      <description>&lt;p&gt;The Better Validation package provides attributes to perform validation in scenes and the whole project. Link to the project:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/techno-dwarf-works/better-validation" rel="noopener noreferrer"&gt;https://github.com/techno-dwarf-works/better-validation&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Validation
&lt;/h3&gt;

&lt;p&gt;To initiate validation, you can go to &lt;code&gt;Toolbar &amp;gt; Better &amp;gt; Validation &amp;gt; Open Validation Window&lt;/code&gt;, or it may start automatically prior to building (validation before play mode will be available in the future).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi23vixaylbkx77ux0hyo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi23vixaylbkx77ux0hyo.png" alt="Validation window" width="700" height="539"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Settings
&lt;/h3&gt;

&lt;p&gt;If you wish to disable automatic pre-build validation or change the logging level, you can open the settings at &lt;code&gt;Toolbar &amp;gt; Better &amp;gt; Validation &amp;gt; Highlight settings&lt;/code&gt; or &lt;code&gt;Edit &amp;gt; Project Settings &amp;gt; Better &amp;gt; Validation&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbgb20apvhhif076t5dz4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbgb20apvhhif076t5dz4.png" alt="Settings window" width="700" height="523"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Available Attributes
&lt;/h3&gt;

&lt;p&gt;The available attributes completely cover all the needs of the modern development process. But if you need more, just add an issue on GitHub, and I'll get back to you.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;NotNull&lt;/strong&gt;: Fails if a &lt;code&gt;UnityEngine.Object&lt;/code&gt; is null or has a missing reference.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;PrefabField&lt;/strong&gt;: Inherits from NotNull and fails if the field references a scene object or an object context.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;SceneReference&lt;/strong&gt;: Inherits from NotNull and fails if the field references a prefab in the Project.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Find&lt;/strong&gt;: Searches for a Component of Type provider in the constructor. It has additional settings:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ValidateIfFieldEmpty&lt;/strong&gt;: Configures the search only if the field is null or missing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RequireDirection&lt;/strong&gt;: Configures the direction of the search.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;DataValidation&lt;/strong&gt;: Validates data in the field using the provided method name. It only supports methods in the same class. The method can return one of the following types:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;void&lt;/code&gt;: Validation will be called, but nothing will be displayed in the editor or the Validation Window.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;bool&lt;/code&gt;: &lt;code&gt;true&lt;/code&gt; represents a successful validation, while &lt;code&gt;false&lt;/code&gt; will draw a default error in the editor and the Validation Window.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;string&lt;/code&gt;: The returned string is regarded as a failed validation, while an empty string indicates success.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;All attributes have a &lt;code&gt;ValidationType&lt;/code&gt; that represents the importance of the validation result.&lt;/p&gt;

&lt;p&gt;The plugin supports extensions through IBuildValidationStep and IValidationStep interfaces.&lt;/p&gt;

</description>
      <category>unity3d</category>
      <category>csharp</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>Better Plugin Collection</title>
      <dc:creator>Arcueid</dc:creator>
      <pubDate>Sat, 15 Apr 2023 18:22:30 +0000</pubDate>
      <link>https://dev.to/uurha/better-plugin-collection-590g</link>
      <guid>https://dev.to/uurha/better-plugin-collection-590g</guid>
      <description>&lt;p&gt;My name is Arki and I develop VR/AR/MR applications based on Unity. Over time, I began to notice that Unity lacked some functionality, so I decided to develop plugins.&lt;br&gt;
The full collection of plugins is &lt;a href="https://github.com/techno-dwarf-works/better-plugin-collection/wiki" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here are some of them:&lt;/p&gt;

&lt;h2&gt;
  
  
  Better Attributes
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb2kfap5wcynrl96mi71a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb2kfap5wcynrl96mi71a.png" alt="Better Attributes" width="800" height="481"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A plugin that allows you to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Choose an implementation for the interface directly in the Inspector;&lt;/li&gt;
&lt;li&gt;Make fields read-only;&lt;/li&gt;
&lt;li&gt;Display a preview of the object/texture in the Inspector;&lt;/li&gt;
&lt;li&gt;Draw Vector3 and Quaternion values in the scene;&lt;/li&gt;
&lt;li&gt;View the Inspector of another object;&lt;/li&gt;
&lt;li&gt;Improved Enum value selection in the Inspector;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Better Scene Management
&lt;/h3&gt;

&lt;p&gt;This plugin improves the use of scene loading and allows the inspector to display a scene reference field in the project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Better Runtime Console
&lt;/h2&gt;

&lt;p&gt;On-screen console, which will be very convenient for viewing logs in the application without the need to connect a debugger or logcat for Android.&lt;/p&gt;

&lt;h3&gt;
  
  
  Better Extensions
&lt;/h3&gt;

&lt;p&gt;A set of class extensions, Unity AsyncOperation asynchronous wait extensions, and UI button click wait extensions.&lt;/p&gt;

&lt;h2&gt;
  
  
  And what's next?
&lt;/h2&gt;

&lt;p&gt;And next I deal with some very useful plugins.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better Validation - a plug-in that allows you to check the values in the inspector field, and check the project of the fields that did not pass the check;&lt;/li&gt;
&lt;li&gt;Better Runtime Diagnostics - this plug-in allows you to output RayCasts, colliders, collision collisions in the application assembly. It will also allow you to display the current statistics of the application, for example, the number of FPS, CPU time, the number of vertices and triangles. And a console with commands that will call methods and return values.&lt;/li&gt;
&lt;li&gt;Better Unity Patterns - a set of basic patterns with examples for convenient and fast development of applications.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Contacts
&lt;/h2&gt;

&lt;p&gt;If you are interested in my plugins, you can visit my &lt;a href="https://github.com/uurha" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. I also help with studies and blog at &lt;a href="https://t.me/unity_tech_learn" rel="noopener noreferrer"&gt;this link&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thank you for your attention! &lt;/p&gt;

</description>
      <category>unity3d</category>
      <category>plugins</category>
      <category>developmen</category>
    </item>
    <item>
      <title>Better Runtime Diagnostics</title>
      <dc:creator>Arcueid</dc:creator>
      <pubDate>Tue, 24 Jan 2023 15:32:04 +0000</pubDate>
      <link>https://dev.to/uurha/betterruntimediagnostics-4i0n</link>
      <guid>https://dev.to/uurha/betterruntimediagnostics-4i0n</guid>
      <description>&lt;p&gt;Hi everyone! Right now I'm working on open-source free tool for Unity, which will allow developers to preview colliders/transforms/collisions just in Game View or in Build.&lt;/p&gt;

&lt;p&gt;From my point of view Unity really lacks system which will show debug info over Game View or in Build. For example, while you testing VR from headset, or sending build to tester, you need more info that you can't normally log or you need to compare logs to video. In such a case BetterRuntimeDiagnostics will help to gather info.&lt;/p&gt;

&lt;p&gt;This plugin will contain:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Preview for objects on scene and their bounds;&lt;/li&gt;
&lt;li&gt;Draw Raycast in Game View or build;&lt;/li&gt;
&lt;li&gt;Watch collisions and triggers between colliders;&lt;/li&gt;
&lt;li&gt;Watch CPU/GPU/RAM/Disk/Networking usage.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As well you can check my other plugins already published by the &lt;a href="https://github.com/techno-dwarf-works/better-plugin-collection/wiki" rel="noopener noreferrer"&gt;link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can support Ukraine - &lt;a href="https://u24.gov.ua" rel="noopener noreferrer"&gt;here&lt;/a&gt; or &lt;a href="https://savelife.in.ua/en/" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And you can support me - &lt;a href="https://buymeacoffee.com/uurhaa" rel="noopener noreferrer"&gt;Buymeacoffee&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gratitude</category>
    </item>
  </channel>
</rss>
