Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
S

SaintsField

> 开发工具
Open source

A Unity extension for inspector enhancement and data serialization.

720 stars0 likes0 views
WebsiteGitHub

About

A Unity extension for inspector enhancement and data serialization.

SaintsField

SaintsField is a Unity extension tool for enhancing inspector and data serialization.

Developed by: TylerTemp, 墨瞳

Unity: 2022.2 or higher

(Yes, the project name comes from, of course, Saints Row 2)

Getting Started

Highlights

  1. Works on deep nested fields!
  2. Works with custom type drawer (either it's IMGUI or UI Toolkit implemention)
  3. 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. All decorative attributes can work with 3rd part attributes
  4. Allow dynamic arguments in many cases
  5. Serialize dictionary, interface, hashset and more
  6. Easily group different fields with box

SaintsField is the Top 3 updated Unity Package in 2025 openupm. Hooray!

[!NOTE] Since 5.19.0, SaintsField's IMGUI implemention is back to support. But IMGUI support is not in a high priority

Installation

  • Using git upm (Unity UI):

    1. Window - Package Manager
    2. Click + button, Add package from git URL
    3. Enter the following URL:
    https://github.com/TylerTemp/SaintsField.git
    
  • Using git upm:

    add to Packages/manifest.json in your project

    {
        "dependencies": {
            "today.comes.saintsfield": "https://github.com/TylerTemp/SaintsField.git",
            // your other dependencies...
        }
    }
    
  • Using OpenUPM

    openupm add today.comes.saintsfield
    
  • Using a git submodule:

    git submodule add https://github.com/TylerTemp/SaintsField.git Packages/today.comes.saintsfield
    

    Note: submodule will not auto upgrade. please read Git Submodule to know how to upgrade

  • Using a unitypackage (NOT RECOMMENDED):

    Go to the Release Page to download a desired version of unitypackage and import it to your project

  • Using Unity Asset Store (NOT RECOMMENDED)

[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.

If you want DOTween support:

  • Ensure: Tools - Demigaint - DOTween Utility Panel, click Create ASMDEF
  • Then do: Tools - Saints Field - Enable DOTween Support

If you need to put this project under another folder rather than Packages/today.comes.saintstionfield, please also do the following:

  • Create Assets/Editor Default Resources/SaintsField.
  • Copy files from the project's Editor/Editor Default Resources/SaintsField into your project's Assets/Editor Default Resources/SaintsField. 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.

Troubleshoot

After installation, you can use Tools - Saints Field - Troubleshoot to check if some attributes do not work.

namespace: SaintsField

Change Log

5.29.4

  1. Fix: SceneReference darg fix #445
  2. Fix: SceneReference now refreshes when scenes in Build Settings change
  3. Rename: AssetFolder -> AssetsFolder; ResourceFolder -> ResourcesFolder (Old name is kept but marked as obsolete)
  4. Add: AssetsFolder and ResourcesFolder now have a button to locate the selected folder in the Project window.

Usage

  • General Attributes
    • Label & Text
      • LabelText
      • FieldLabelText
      • NoLabel
      • AboveText / BelowText
      • CompText
      • FieldAboveText / FieldBelowText
      • OverlayText
      • EndText
      • InfoBox/BelowInfoBox
      • CompInfoBox
      • FieldInfoBox/FieldBelowInfoBox
      • Separator/BelowSeparator
      • FieldSeparator / FieldBelowSeparator
      • SepTitle
      • GUIColor
    • Button
      • Button
      • AboveButton/BelowButton/PostFieldButton
    • Game Related
      • Layer
      • Scene
      • SortingLayer
      • Tag
      • InputAxis
      • ShaderParam
      • ShaderKeyword
    • Toggle & Switch
      • GameObjectActive
      • SpriteToggle
      • MaterialToggle
      • ColorToggle
    • Data Editor
      • Expandable
      • ReferencePicker
      • SaintsRow
      • ListDrawerSettings
      • Table
      • ShowInInspector
    • Numerical
      • Rate
      • Unit
      • PropRange
      • MinMaxSlider
      • ProgressBar
    • Animation
      • AnimatorParam
      • AnimatorState
      • CurveRange
    • Auto Getter
      • GetComponent
      • GetComponentInChildren/GetInChildren
      • GetComponentInParent / GetComponentInParents
      • FindObjectsByType/GetInScene
      • GetPrefabWithComponent
      • GetScriptableObject
      • GetInSiblings
      • GetByXPath
      • GetMainCamera
      • AddComponent
      • FindComponent
      • GetComponentByPath
    • Validate & Restrict
      • FieldType
      • OnValueChanged
      • OnArraySizeChanged
      • ReadOnly/DisableIf/EnableIf
      • FieldEnableIf/FieldDisableIf/FieldReadOnly
      • InputEnableIf/InputDisableIf/InputReadOnly
      • ShowIf/HideIf
      • FieldShowIf / FieldHideIf
      • Required
      • RequiredIf
      • ValidateInput
      • MinValue / MaxValue
      • RequireType
      • ArraySize
    • Miscellaneous
      • [`Dropd

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C#unityunity-editorunity-inspectorunity3d

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category开发工具
PricingOpen source

> Related tools

V
VS Code
流行的开源代码编辑器
G
Git
分布式版本控制系统
V
Vite
下一代前端构建工具