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

Unity-Reorderable-List

> 编程语言
Open source

Extended version of the Reorderable List in Unity

645 stars0 likes1 views
WebsiteGitHub

About

Extended version of the Reorderable List in Unity

Reorderable List

An attempt to mimic the ReorderableList within Unity while adding some extended functionality.

Installation

This extension can be installed using Unity package manager.
https://github.com/cfoulston/Unity-Reorderable-List.git

  • Package manager UI

  • Manifest

      {
          "dependencies": {
              "com.malee.reorderablelist": "https://github.com/cfoulston/Unity-Reorderable-List.git"
          }
      }
    
  • A standalone version is available under the standalone branch, although this version is no longer maintained.

Features

  • Drag and Drop references (like array inspector)
  • Expandable items and list itself
  • Multiple selection (ctrl/command, shift select)
  • Draggable selection
  • Context menu items (revert values, duplicate values, delete values)
  • Custom attribute which allows automatic list generation for properties*
  • Event delegates and custom styling
  • Pagination
  • Sorting (sort based on field, ascending and descending)
  • Surrogates (Enable adding elements of a different type)

Usage

There are two ways to use the ReorderableList

  1. Create a custom Editor for your class and create a ReorderableList pointing to your serializedProperty
  2. Create custom list class which extends from ReorderableArray, assign [Reorderable] attribute above property (not class).

Pagination

Pagination can be enabled in two ways:

  1. With the [Reorderable] attribute:
    • [Reorderable(paginate = true, pageSize = 0)]
  2. Properties of the ReorderableList:
    • list.paginate
    • list.pageSize

pageSize defines the desired elements per page. Setting pageSize = 0 will enable the custom page size GUI

When enabled, the ReorderableList GUI will display a small section below the header to facilitate navigating the pages

NOTE

Elements can be moved between pages by right-clicking and selecting "Move Array Element"

Surrogates

Surrogates can be created to facilitate adding Objects to a ReorderableList that don't match the ReorderableList type. This can be achieved in two ways:

  1. With the [Reorderable] attribute:
    • [Reorderable(surrogateType = typeof(ObjectType), surrogateProperty = "objectProperty")]
  2. Property of the ReorderableList:
    • list.surrogate = new ReorderableList.Surrogate(typeof(ObjectType), Callback);

Check the SurrogateTest and SurrogateTestEditor examples for more information

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C#listunityunity3d

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言