{"id":14960779,"url":"https://github.com/tylertemp/saintsfield","last_synced_at":"2026-05-31T04:02:09.539Z","repository":{"id":163397358,"uuid":"636623981","full_name":"TylerTemp/SaintsField","owner":"TylerTemp","description":"A Unity Inspector extension tool focusing on script fields inspector enhancement","archived":false,"fork":false,"pushed_at":"2024-10-29T09:53:46.000Z","size":22103,"stargazers_count":180,"open_issues_count":13,"forks_count":10,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-10-29T11:44:00.569Z","etag":null,"topics":["unity","unity-editor","unity-inspector","unity3d"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TylerTemp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-05T09:15:46.000Z","updated_at":"2024-10-27T09:47:58.000Z","dependencies_parsed_at":"2023-11-29T10:28:40.402Z","dependency_job_id":"22f1b053-b721-4c72-81e9-ab20732e2c86","html_url":"https://github.com/TylerTemp/SaintsField","commit_stats":{"total_commits":864,"total_committers":5,"mean_commits":172.8,"dds":0.08101851851851849,"last_synced_commit":"9ff00aaa7914126ffd2340d0f32a58d47647b473"},"previous_names":[],"tags_count":187,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TylerTemp%2FSaintsField","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TylerTemp%2FSaintsField/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TylerTemp%2FSaintsField/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TylerTemp%2FSaintsField/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TylerTemp","download_url":"https://codeload.github.com/TylerTemp/SaintsField/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247190250,"owners_count":20898702,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["unity","unity-editor","unity-inspector","unity3d"],"created_at":"2024-09-24T13:22:59.609Z","updated_at":"2026-05-31T04:02:09.533Z","avatar_url":"https://github.com/TylerTemp.png","language":"C#","funding_links":["https://www.paypal.com/donate/?hosted_button_id=B38BUN42VQ73N"],"categories":[],"sub_categories":[],"readme":"# SaintsField #\n\n[![unity_version](https://github.com/user-attachments/assets/dffbf530-6212-481b-bfdb-1e9d9ce3712d)](https://unity.com/download)\n[![license_mit](https://github.com/TylerTemp/SaintsField/assets/6391063/a093811a-5dbc-46ad-939e-a9e207ae5bfb)](https://github.com/TylerTemp/SaintsField/blob/master/LICENSE)\n[![openupm](https://img.shields.io/npm/v/today.comes.saintsfield?label=OpenUPM\u0026registry_uri=https://package.openupm.com)](https://openupm.com/packages/today.comes.saintsfield/)\n[![Percentage of issues still open](https://isitmaintained.com/badge/open/TylerTemp/SaintsField.svg)](http://isitmaintained.com/project/TylerTemp/SaintsField \"Percentage of issues still open\")\n[![Average time to resolve an issue](https://isitmaintained.com/badge/resolution/TylerTemp/SaintsField.svg)](http://isitmaintained.com/project/TylerTemp/SaintsField \"Average time to resolve an issue\")\n[![openupm](https://img.shields.io/badge/dynamic/json?color=brightgreen\u0026label=Downloads\u0026query=%24.downloads\u0026suffix=%2Fmonth\u0026url=https%3A%2F%2Fpackage.openupm.com%2Fdownloads%2Fpoint%2Flast-month%2Ftoday.comes.saintsfield)](https://openupm.com/packages/today.comes.saintsfield/)\n[![repo-stars](https://img.shields.io/github/stars/TylerTemp/SaintsField)](https://github.com/TylerTemp/SaintsField/)\n\n`SaintsField` is a Unity extension tool for enhancing inspector and data serialization.\n\nDeveloped by: [TylerTemp](https://github.com/TylerTemp), [墨瞳](https://github.com/xc13308)\n\nUnity: 2022.2 or higher\n\n(Yes, the project name comes from, of course, [Saints Row 2](https://saintsrow.fandom.com/wiki/Saints_Row_2))\n\n![](https://github.com/user-attachments/assets/3088cb89-742a-4c13-86b7-9e2afa78f327)\n\n![](https://github.com/user-attachments/assets/e91dd9f1-96c4-4e45-9161-bd8eeecc3b1e)\n\n![](https://github.com/user-attachments/assets/7223f0f3-af1e-4900-9516-fd9cb4cddcfc)\n\n![](https://github.com/user-attachments/assets/7c053391-15aa-4c0c-af19-1ec4209e73c6)\n\n![](https://github.com/user-attachments/assets/b19d67a2-c39f-4ff8-9a92-310bdac42d27)\n\n![](https://github.com/user-attachments/assets/b6ce0687-eba4-49e6-97f3-4cbd54f9f07b)\n\n![](https://github.com/user-attachments/assets/7cb7901f-eeb1-40b4-b72c-3458dd3a4b87)\n\n## Getting Started ##\n\n### Highlights ###\n\n1.  Works on deep nested fields!\n2.  When a target is drawn by the old IMGUI drawer, it will be rendered correctly inside UI Toolkit.\n3.  Allow stack on many cases. Only attributes that modified the label itself, and the field itself can not be stacked. All other attributes can mostly be stacked.\n4.  Allow dynamic arguments in many cases\n5.  Directly serialize dictionary, interface, hashset and more\n6.  Easily group different fields with box\n\nSaintsField is the [Top 3 updated Unity Package](https://openupm.com/blog/openupm-2025-recap-6283fcd0217e/) in 2025 openupm. Hooray!\n\n![](https://github.com/user-attachments/assets/82666e9a-268e-46f8-8413-fe57b90d854a)\n\n### Installation ###\n\n*   Using [Unity Asset Store](https://assetstore.unity.com/packages/slug/269741)\n\n*   Using [OpenUPM](https://openupm.com/packages/today.comes.saintsfield/)\n\n    ```bash\n    openupm add today.comes.saintsfield\n    ```\n\n*   Using git upm:\n\n    add to `Packages/manifest.json` in your project\n\n    ```javascript\n    {\n        \"dependencies\": {\n            \"today.comes.saintsfield\": \"https://github.com/TylerTemp/SaintsField.git\",\n            // your other dependencies...\n        }\n    }\n    ```\n\n*   Using git upm (Unity UI):\n\n    1. `Window` - `Package Manager`\n    2. Click `+` button, `Add package from git URL`\n    3. Enter the following URL:\n\n    ```\n    https://github.com/TylerTemp/SaintsField.git\n    ```\n\n\n*   Using a `unitypackage`:\n\n    Go to the [Release Page](https://github.com/TylerTemp/SaintsField/releases) to download a desired version of `unitypackage` and import it to your project\n\n*   Using a git submodule:\n\n    ```bash\n    git submodule add https://github.com/TylerTemp/SaintsField.git Packages/today.comes.saintsfield\n    ```\n\nIf you have DOTween installed\n*   Please also ensure you do: `Tools` - `Demigaint` - `DOTween Utility Panel`, click `Create ASMDEF`\n*   Or disable related functions with `Tools` - `Saints Field` - `Disable DOTween Support`\n*   If you can not find this menu, please read the \"Add a Macro\" section about how to manually disable DOTween support in SaintsField.\n\n[**Optional**] To use the full functions of this project, please also do: `Tools` - `Saints Field` - `Enable SaintsEditor`. Note this will break your existing Editor plugin like `OdinInspector`, `NaughtyAttributes`, `MyToolbox`, `Tri-Inspector`.\n\nIf you need to put this project under another folder rather than `Packages/today.comes.saintsfield`, please also do the following:\n\n*   Create `Assets/Editor Default Resources/SaintsField`.\n*   Copy files from the project's `Editor/Editor Default Resources/SaintsField` into your project's `Assets/Editor Default Resources/SaintsField`.\n    If you're using a file browser instead of Unity's project tab to copy files, you may want to exclude the `.meta` file to avoid GUID conflict.\n\n**Troubleshoot**\n\nAfter installation, you can use `Tools` - `Saints Field` - `Troubleshoot` to check if some attributes do not work.\n\nnamespace: `SaintsField`\n\n## Change Log ##\n\n**5.17.5**\n\nFix: Dependency error [#393](https://github.com/TylerTemp/SaintsField/issues/393)\n\n## Usage ##\n\n*   General Attributes\n    *   Label \u0026 Text\n        *   [`LabelText`](https://saintsfield.comes.today/general-attributes/label--text/labeltext)\n        *   [`FieldLabelText`](https://saintsfield.comes.today/general-attributes/label--text/fieldlabeltext)\n        *   [`NoLabel`](https://saintsfield.comes.today/general-attributes/label--text/nolabel)\n        *   [`AboveText` / `BelowText`](https://saintsfield.comes.today/general-attributes/label--text/abovetext--belowtext)\n        *   [`FieldAboveText` / `FieldBelowText`](https://saintsfield.comes.today/general-attributes/label--text/fieldabovetext--fieldbelowtext)\n        *   [`OverlayText`](https://saintsfield.comes.today/general-attributes/label--text/overlaytext)\n        *   [`EndText`](https://saintsfield.comes.today/general-attributes/label--text/endtext)\n        *   [`InfoBox`/`BelowInfoBox`](https://saintsfield.comes.today/general-attributes/label--text/infoboxbelowinfobox)\n        *   [`FieldInfoBox`/`FieldBelowInfoBox`](https://saintsfield.comes.today/general-attributes/label--text/fieldinfoboxfieldbelowinfobox)\n        *   [`Separator`/`BelowSeparator`](https://saintsfield.comes.today/general-attributes/label--text/separatorbelowseparator)\n        *   [`FieldSeparator` / `FieldBelowSeparator`](https://saintsfield.comes.today/general-attributes/label--text/fieldseparator--fieldbelowseparator)\n        *   [`SepTitle`](https://saintsfield.comes.today/general-attributes/label--text/septitle)\n        *   [`GUIColor`](https://saintsfield.comes.today/general-attributes/label--text/guicolor)\n    *   Button\n        *   [`Button`](https://saintsfield.comes.today/general-attributes/button/button)\n        *   [`AboveButton`/`BelowButton`/`PostFieldButton`](https://saintsfield.comes.today/general-attributes/button/abovebuttonbelowbuttonpostfieldbutton)\n    *   Game Related\n        *   [`Layer`](https://saintsfield.comes.today/general-attributes/game-related/layer)\n        *   [`Scene`](https://saintsfield.comes.today/general-attributes/game-related/scene)\n        *   [`SortingLayer`](https://saintsfield.comes.today/general-attributes/game-related/sortinglayer)\n        *   [`Tag`](https://saintsfield.comes.today/general-attributes/game-related/tag)\n        *   [`InputAxis`](https://saintsfield.comes.today/general-attributes/game-related/inputaxis)\n        *   [`ShaderParam`](https://saintsfield.comes.today/general-attributes/game-related/shaderparam)\n        *   [`ShaderKeyword`](https://saintsfield.comes.today/general-attributes/game-related/shaderkeyword)\n    *   Toggle \u0026 Switch\n        *   [`GameObjectActive`](https://saintsfield.comes.today/general-attributes/toggle--switch/gameobjectactive)\n        *   [`SpriteToggle`](https://saintsfield.comes.today/general-attributes/toggle--switch/spritetoggle)\n        *   [`MaterialToggle`](https://saintsfield.comes.today/general-attributes/toggle--switch/materialtoggle)\n        *   [`ColorToggle`](https://saintsfield.comes.today/general-attributes/toggle--switch/colortoggle)\n    *   Data Editor\n        *   [`Expandable`](https://saintsfield.comes.today/general-attributes/data-editor/expandable)\n        *   [`ReferencePicker`](https://saintsfield.comes.today/general-attributes/data-editor/referencepicker)\n        *   [`SaintsRow`](https://saintsfield.comes.today/general-attributes/data-editor/saintsrow)\n        *   [`ListDrawerSettings`](https://saintsfield.comes.today/general-attributes/data-editor/listdrawersettings)\n        *   [`Table`](https://saintsfield.comes.today/general-attributes/data-editor/table)\n        *   [`ShowInInspector`](https://saintsfield.comes.today/general-attributes/data-editor/showininspector)\n    *   Numerical\n        *   [`Rate`](https://saintsfield.comes.today/general-attributes/numerical/rate)\n        *   [`PropRange`](https://saintsfield.comes.today/general-attributes/numerical/proprange)\n        *   [`MinMaxSlider`](https://saintsfield.comes.today/general-attributes/numerical/minmaxslider)\n        *   [`ProgressBar`](https://saintsfield.comes.today/general-attributes/numerical/progressbar)\n    *   Animation\n        *   [`AnimatorParam`](https://saintsfield.comes.today/general-attributes/animation/animatorparam)\n        *   [`AnimatorState`](https://saintsfield.comes.today/general-attributes/animation/animatorstate)\n        *   [`CurveRange`](https://saintsfield.comes.today/general-attributes/animation/curverange)\n    *   [Auto Getter](https://saintsfield.comes.today/general-attributes/auto-getter)\n        *   [`GetComponent`](https://saintsfield.comes.today/general-attributes/auto-getter/getcomponent)\n        *   [`GetComponentInChildren`/`GetInChildren`](https://saintsfield.comes.today/general-attributes/auto-getter/getcomponentinchildrengetinchildren)\n        *   [`GetComponentInParent` / `GetComponentInParents`](https://saintsfield.comes.today/general-attributes/auto-getter/getcomponentinparent--getcomponentinparents)\n        *   [`FindObjectsByType`/`GetInScene`](https://saintsfield.comes.today/general-attributes/auto-getter/findobjectsbytypegetinscene)\n        *   [`GetPrefabWithComponent`](https://saintsfield.comes.today/general-attributes/auto-getter/getprefabwithcomponent)\n        *   [`GetScriptableObject`](https://saintsfield.comes.today/general-attributes/auto-getter/getscriptableobject)\n        *   [`GetInSiblings`](https://saintsfield.comes.today/general-attributes/auto-getter/getinsiblings)\n        *   [`GetByXPath`](https://saintsfield.comes.today/general-attributes/auto-getter/getbyxpath)\n        *   [`GetMainCamera`](https://saintsfield.comes.today/general-attributes/auto-getter/getmaincamera)\n        *   [`AddComponent`](https://saintsfield.comes.today/general-attributes/auto-getter/addcomponent)\n        *   [`FindComponent`](https://saintsfield.comes.today/general-attributes/auto-getter/findcomponent)\n        *   [`GetComponentByPath`](https://saintsfield.comes.today/general-attributes/auto-getter/getcomponentbypath)\n    *   Validate \u0026 Restrict\n        *   [`FieldType`](https://saintsfield.comes.today/general-attributes/validate--restrict/fieldtype)\n        *   [`OnValueChanged`](https://saintsfield.comes.today/general-attributes/validate--restrict/onvaluechanged)\n        *   [`OnArraySizeChanged`](https://saintsfield.comes.today/general-attributes/validate--restrict/onarraysizechanged)\n        *   [`ReadOnly`/`DisableIf`/`EnableIf`](https://saintsfield.comes.today/general-attributes/validate--restrict/readonlydisableifenableif)\n        *   [`FieldEnableIf`/`FieldDisableIf`/`FieldReadOnly`](https://saintsfield.comes.today/general-attributes/validate--restrict/fieldenableiffielddisableiffieldreadonly)\n        *   [`ShowIf`/`HideIf`](https://saintsfield.comes.today/general-attributes/validate--restrict/showifhideif)\n        *   [`FieldShowIf` / `FieldHideIf`](https://saintsfield.comes.today/general-attributes/validate--restrict/fieldshowif--fieldhideif)\n        *   [`Required`](https://saintsfield.comes.today/general-attributes/validate--restrict/required)\n        *   [`RequiredIf`](https://saintsfield.comes.today/general-attributes/validate--restrict/requiredif)\n        *   [`ValidateInput`](https://saintsfield.comes.today/general-attributes/validate--restrict/validateinput)\n        *   [`MinValue` / `MaxValue`](https://saintsfield.comes.today/general-attributes/validate--restrict/minvalue--maxvalue)\n        *   [`RequireType`](https://saintsfield.comes.today/general-attributes/validate--restrict/requiretype)\n        *   [`ArraySize`](https://saintsfield.comes.today/general-attributes/validate--restrict/arraysize)\n    *   Miscellaneous\n        *   [`Dropdown`](https://saintsfield.comes.today/general-attributes/miscellaneous/dropdown)\n        *   [`OptionsDropdown` / `PairsDropdown`](https://saintsfield.comes.today/general-attributes/miscellaneous/optionsdropdown--pairsdropdown)\n        *   [`FlagsDropdown`](https://saintsfield.comes.today/general-attributes/miscellaneous/flagsdropdown)\n        *   [`AdvancedDropdown`](https://saintsfield.comes.today/general-attributes/miscellaneous/advanceddropdown)\n        *   [`AdvancedOptionsDropdown` / `AdvancedPairsDropdown`](https://saintsfield.comes.today/general-attributes/miscellaneous/advancedoptionsdropdown--advancedpairsdropdown)\n        *   [`MenuDropdown`](https://saintsfield.comes.today/general-attributes/miscellaneous/menudropdown)\n        *   [`CustomContextMenu`](https://saintsfield.comes.today/general-attributes/miscellaneous/customcontextmenu)\n        *   [`FieldCustomContextMenu`](https://saintsfield.comes.today/general-attributes/miscellaneous/fieldcustomcontextmenu)\n        *   [`ValueButtons`](https://saintsfield.comes.today/general-attributes/miscellaneous/valuebuttons)\n        *   [`OptionsValueButtons` / `PairsValueButtons`](https://saintsfield.comes.today/general-attributes/miscellaneous/optionsvaluebuttons--pairsvaluebuttons)\n        *   [`EnumToggleButtons`](https://saintsfield.comes.today/general-attributes/miscellaneous/enumtogglebuttons)\n        *   [`ResizableTextArea`](https://saintsfield.comes.today/general-attributes/miscellaneous/resizabletextarea)\n        *   [`LeftToggle`](https://saintsfield.comes.today/general-attributes/miscellaneous/lefttoggle)\n        *   [`ResourcePath`](https://saintsfield.comes.today/general-attributes/miscellaneous/resourcepath)\n        *   [`ResourceFolder`](https://saintsfield.comes.today/general-attributes/miscellaneous/resourcefolder)\n        *   [`FieldDefaultExpand`](https://saintsfield.comes.today/general-attributes/miscellaneous/fielddefaultexpand)\n        *   [`DefaultExpand`](https://saintsfield.comes.today/general-attributes/miscellaneous/defaultexpand)\n        *   [`AssetFolder`](https://saintsfield.comes.today/general-attributes/miscellaneous/assetfolder)\n        *   [`AssetPreview`](https://saintsfield.comes.today/general-attributes/miscellaneous/assetpreview)\n        *   [`AboveImage`/`BelowImage`](https://saintsfield.comes.today/general-attributes/miscellaneous/aboveimagebelowimage)\n        *   [`ParticlePlay`](https://saintsfield.comes.today/general-attributes/miscellaneous/particleplay)\n        *   [`ButtonAddOnClick`](https://saintsfield.comes.today/general-attributes/miscellaneous/buttonaddonclick)\n        *   [`OnButtonClick`](https://saintsfield.comes.today/general-attributes/miscellaneous/onbuttonclick)\n        *   [`OnEvent`](https://saintsfield.comes.today/general-attributes/miscellaneous/onevent)\n        *   [`ColorPalette`](https://saintsfield.comes.today/general-attributes/miscellaneous/colorpalette)\n        *   [`Searchable`](https://saintsfield.comes.today/general-attributes/miscellaneous/searchable)\n        *   [`DateTime`](https://saintsfield.comes.today/general-attributes/miscellaneous/datetime)\n        *   [`TimeSpan`](https://saintsfield.comes.today/general-attributes/miscellaneous/timespan)\n        *   [`Guid`](https://saintsfield.comes.today/general-attributes/miscellaneous/guid)\n*   Layout System\n    *   [Overview](https://saintsfield.comes.today/layout-system/overview)\n    *   [`Layout`](https://saintsfield.comes.today/layout-system/layout)\n    *   [`LayoutStart` / `LayoutEnd`](https://saintsfield.comes.today/layout-system/layoutstart--layoutend)\n    *   [`LayoutCloseHere` / `LayoutTerminateHere`](https://saintsfield.comes.today/layout-system/layoutclosehere--layoutterminatehere)\n    *   [`LayoutDisableIf` / `LayoutEnableIf`](https://saintsfield.comes.today/layout-system/layoutdisableif--layoutenableif)\n    *   [`LayoutShowIf` / `LayoutHideIf`](https://saintsfield.comes.today/layout-system/layoutshowif--layouthideif)\n*   [Handles](https://saintsfield.comes.today/handles)\n    *   [`SceneViewPicker`](https://saintsfield.comes.today/handles/sceneviewpicker)\n    *   [`DrawLabel`](https://saintsfield.comes.today/handles/drawlabel)\n    *   [`PositionHandle`](https://saintsfield.comes.today/handles/positionhandle)\n    *   [`RotationHandle`](https://saintsfield.comes.today/handles/rotationhandle)\n    *   [`ScaleHandle`](https://saintsfield.comes.today/handles/scalehandle)\n    *   [`DrawLine`](https://saintsfield.comes.today/handles/drawline)\n    *   [`SaintsArrow`](https://saintsfield.comes.today/handles/saintsarrow)\n    *   [`ArrowHandleCap`](https://saintsfield.comes.today/handles/arrowhandlecap)\n    *   [`DrawWireDisc`](https://saintsfield.comes.today/handles/drawwiredisc)\n    *   [`SphereHandleCap`](https://saintsfield.comes.today/handles/spherehandlecap)\n    *   [`RadiusHandle`](https://saintsfield.comes.today/handles/radiushandle)\n    *   [`PrimitiveBoundsHandle`](https://saintsfield.comes.today/handles/primitiveboundshandle)\n*   [Component Header](https://saintsfield.comes.today/component-header)\n    *   [Runtime Saver](https://saintsfield.comes.today/component-header/runtime-saver)\n    *   [`HeaderButton` / `HeaderLeftButton`](https://saintsfield.comes.today/component-header/headerbutton--headerleftbutton)\n    *   [`HeaderGhostButton` / `HeaderGhostLeftButton`](https://saintsfield.comes.today/component-header/headerghostbutton--headerghostleftbutton)\n    *   [`HeaderLabel` / `HeaderLeftLabel`](https://saintsfield.comes.today/component-header/headerlabel--headerleftlabel)\n    *   [`HeaderDraw` / `HeaderLeftDraw`](https://saintsfield.comes.today/component-header/headerdraw--headerleftdraw)\n*   Data Types\n    *   [`SaintsArray`/`SaintsList`](https://saintsfield.comes.today/data-types/saintsarraysaintslist)\n    *   [`SaintsDictionary\u003c,\u003e`](https://saintsfield.comes.today/data-types/saintsdictionary)\n    *   [`SaintsInterface\u003c\u003e`](https://saintsfield.comes.today/data-types/saintsinterface)\n    *   [`SaintsHashSet\u003c\u003e` / `ReferenceHashSet\u003c\u003e`](https://saintsfield.comes.today/data-types/saintshashset--referencehashset)\n    *   [`SaintsDecimal`](https://saintsfield.comes.today/data-types/saintsdecimal)\n    *   [`TypeReference`](https://saintsfield.comes.today/data-types/typereference)\n    *   [`SaintsEvent`](https://saintsfield.comes.today/data-types/saintsevent)\n    *   [`SceneReference`](https://saintsfield.comes.today/data-types/scenereference)\n*   [Addressable](https://saintsfield.comes.today/addressable)\n    *   [`AddressableLabel`](https://saintsfield.comes.today/addressable/addressablelabel)\n    *   [`AddressableAddress`](https://saintsfield.comes.today/addressable/addressableaddress)\n    *   [`AddressableResource`](https://saintsfield.comes.today/addressable/addressableresource)\n    *   [`AddressableScene`](https://saintsfield.comes.today/addressable/addressablescene)\n    *   [`AddressableSubAssetRequired` ##](https://saintsfield.comes.today/addressable/addressablesubassetrequired-)\n*   [AI Navigation](https://saintsfield.comes.today/ai-navigation)\n    *   [`NavMeshAreaMask`](https://saintsfield.comes.today/ai-navigation/navmeshareamask)\n    *   [`NavMeshArea`](https://saintsfield.comes.today/ai-navigation/navmesharea)\n*   [Spine](https://saintsfield.comes.today/spine)\n    *   [`SpineAnimationPicker`](https://saintsfield.comes.today/spine/spineanimationpicker)\n    *   [`SpineSkinPicker`](https://saintsfield.comes.today/spine/spineskinpicker)\n    *   [`SpineSlotPicker`](https://saintsfield.comes.today/spine/spineslotpicker)\n    *   [`SpineAttachmentPicker`](https://saintsfield.comes.today/spine/spineattachmentpicker)\n    *   [`SpineBonePicker`](https://saintsfield.comes.today/spine/spinebonepicker)\n    *   [`SpineEventPicker`](https://saintsfield.comes.today/spine/spineeventpicker)\n    *   [`SpineIkConstraintPicker`](https://saintsfield.comes.today/spine/spineikconstraintpicker)\n    *   [`SpinePathConstraintPicker`](https://saintsfield.comes.today/spine/spinepathconstraintpicker)\n    *   [`SpineTransformConstraintPicker`](https://saintsfield.comes.today/spine/spinetransformconstraintpicker)\n*   DOTween\n    *   [`DOTweenPlay`](https://saintsfield.comes.today/dotween/dotweenplay)\n*   [Wwise](https://saintsfield.comes.today/wwise)\n    *   [`GetWwise`](https://saintsfield.comes.today/wwise/getwwise)\n*   [I2 Localization](https://saintsfield.comes.today/i-localization)\n    *   [`LocalizedStringPicker`](https://saintsfield.comes.today/i-localization/localizedstringpicker)\n*   [SaintsEditor](https://saintsfield.comes.today/saintseditor)\n    *   [Setup](https://saintsfield.comes.today/saintseditor/setup)\n    *   [Inherent](https://saintsfield.comes.today/saintseditor/inherent)\n    *   [Extend](https://saintsfield.comes.today/saintseditor/extend)\n    *   [Integerate](https://saintsfield.comes.today/saintseditor/integerate)\n    *   [Netcode for Game Objects](https://saintsfield.comes.today/saintseditor/netcode-for-game-objects)\n    *   [Scriptable Renderer Data](https://saintsfield.comes.today/saintseditor/scriptable-renderer-data)\n    *   [`Unity.Mathematics`](https://saintsfield.comes.today/saintseditor/unitymathematics)\n    *   [SaintsBuild Support ##](https://saintsfield.comes.today/saintseditor/saintsbuild-support-)\n*   [Extended Serialization](https://saintsfield.comes.today/extended-serialization)\n    *   [`Dictionary\u003c,\u003e`](https://saintsfield.comes.today/extended-serialization/dictionary)\n    *   [`HashSet\u003c\u003e`](https://saintsfield.comes.today/extended-serialization/hashset)\n    *   [`interface`](https://saintsfield.comes.today/extended-serialization/interface)\n    *   [`long`/`ulong` Enum](https://saintsfield.comes.today/extended-serialization/longulong-enum)\n    *   [`DateTime`](https://saintsfield.comes.today/extended-serialization/datetime)\n    *   [`TimeSpan`](https://saintsfield.comes.today/extended-serialization/timespan)\n    *   [`Guid`](https://saintsfield.comes.today/extended-serialization/guid)\n    *   [`decimal`](https://saintsfield.comes.today/extended-serialization/decimal)\n*   [`SaintsEditorWindow`](https://saintsfield.comes.today/saintseditorwindow)\n    *   [Usage \u0026 Example](https://saintsfield.comes.today/saintseditorwindow/usage--example)\n    *   [Life Cycle \u0026 Functions](https://saintsfield.comes.today/saintseditorwindow/life-cycle--functions)\n    *   [`WindowInlineEditor`](https://saintsfield.comes.today/saintseditorwindow/windowinlineeditor)\n*   Misc\n    *   [About GroupBy](https://saintsfield.comes.today/misc/about-groupby)\n    *   [`EMode`](https://saintsfield.comes.today/misc/emode)\n    *   [Callback](https://saintsfield.comes.today/misc/callback)\n    *   [Syntax for Show/Hide/Enable/Disable/Required-If](https://saintsfield.comes.today/misc/syntax-for-showhideenabledisablerequired-if)\n    *   Saints XPath-like Syntax\n        *   [XPath](https://saintsfield.comes.today/misc/saints-xpath-like-syntax/xpath)\n        *   [`EXP`](https://saintsfield.comes.today/misc/saints-xpath-like-syntax/exp)\n    *   [Add a Macro](https://saintsfield.comes.today/misc/add-a-macro)\n    *   [Auto Validator](https://saintsfield.comes.today/misc/auto-validator)\n    *   [Use With Other Drawers](https://saintsfield.comes.today/misc/use-with-other-drawers)\n\n## Donation ##\n\n### Donation Link ###\n\nPayPal: [![Image](https://github.com/user-attachments/assets/af35c913-151f-463d-9635-e562683b1ce8)](https://www.paypal.com/donate/?hosted_button_id=B38BUN42VQ73N)\n\n### Donation List ###\n\nThanks for the following generous donors:\n\n- [bilemedimkq](https://github.com/bilemedimkq) donated on 2025-09-17\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftylertemp%2Fsaintsfield","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftylertemp%2Fsaintsfield","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftylertemp%2Fsaintsfield/lists"}