InsertArrayElementAtIndex(int)
Insert an new element at the specified index in the array.
Read time 1 minuteLast updated 6 days ago
Definition
- Type: Method
- Namespace: UnityEditor
- Assembly: UnityEditor
public void InsertArrayElementAtIndex(int index)
Parameters
Remarks
The value of the inserted element is undefined and should be explicitly set after calling this function.
Additional Resources: SerializedProperty.isArray, SerializedProperty.arraySize, SerializedProperty.GetArrayElementAtIndex.
Examples
using UnityEditor;using UnityEngine;public class InsertArrayElementAtIndexExample : ScriptableObject{ public string[] m_Data; [MenuItem("Example/SerializedProperty/InsertArrayElementAtIndex Example")] static void MenuCallback() { InsertArrayElementAtIndexExample obj = ScriptableObject.CreateInstance<InsertArrayElementAtIndexExample>(); obj.m_Data = new string[] { "The", "cat" }; SerializedObject serializedObject = new SerializedObject(obj); SerializedProperty arrayProperty = serializedObject.FindProperty("m_Data"); arrayProperty.InsertArrayElementAtIndex(1); arrayProperty.GetArrayElementAtIndex(1).stringValue = "big"; arrayProperty.InsertArrayElementAtIndex(arrayProperty.arraySize); arrayProperty.GetArrayElementAtIndex(arrayProperty.arraySize - 1).stringValue = "jumped."; serializedObject.ApplyModifiedProperties(); // Outputs "The big cat jumped." Debug.Log("Final array contents: " + string.Join(" ", obj.m_Data)); }}