RES Table View
ReactiveEntitySetSO is an experimental feature. The API may change in future versions.
Purpose
This guide explains how to use RES Table View to view and edit ReactiveEntitySet entity data in a table format. You will learn how to capture snapshots while paused in Play Mode, inspect and edit individual entity values, and save/restore data using binary files.
Opening the window
Open the window using one of the following methods:
- From menu: Window > Reactive SO > RES Table View
- From Inspector: Select a ReactiveEntitySetSO asset and click “Open Table View”

Basic Usage
Capturing a snapshot
- Enter Play Mode
- Pause the game (Pause button)
- Select the target ReactiveEntitySetSO in Target RES
- Click “Capture Snapshot”
When capture succeeds, entity data is displayed in the table.
Snapshots can only be captured while paused. Data is cleared when you resume.
Editing data
- Double-click the cell you want to edit
- Enter the new value
- Press Enter to confirm, Escape to cancel
Edited values are immediately applied to the ReactiveEntitySet, firing the OnDataChanged event.
Toolbar
| Element | Description |
|---|---|
| Target RES | Select the target ReactiveEntitySetSO |
| Capture Snapshot | Capture current entity data |
| Save | Save captured data to a binary file |
| Load | Load data from a binary file, completely overwriting |
Save / load feature
Save
Saves captured snapshot data as a .resdata file.
| Property | Value |
|---|---|
| Enabled when | Captured data exists |
| File format | Binary (.resdata) |
| Contents | EntityID and all TData struct fields |
Load
Load completely overwrites current entity data. This operation cannot be undone.
Restores from a saved .resdata file, completely replacing the ReactiveEntitySet data.
| Property | Value |
|---|---|
| Enabled when | Paused and RES is selected |
| Behavior | Calls RestoreSnapshot(), replacing all entities |
| Warning | A confirmation dialog appears after file selection |
Binary Format
[Header] - 20 bytes
├─ Magic: "RES\0" (4 bytes)
├─ Version: int32
├─ TypeHash: int32 (hash of TData type)
├─ DataSize: int32 (size of TData struct)
└─ EntityCount: int32
[Data]
├─ EntityIds: int32[] (EntityCount items)
└─ EntityData: byte[] (EntityCount × DataSize bytes)
Columns
| Column | Description |
|---|---|
| Entity ID | Unique entity identifier (read-only) |
| (TData fields) | Each field of the TData struct is dynamically displayed as a column |
Supported types
| Type | Display Format | Editable |
|---|---|---|
| int, float, byte, etc. | Number | ✓ |
| bool | True/False | ✓ (toggle) |
| Enum | Value name | ✓ (dropdown) |
| Vector2, Vector3 | (x, y, z) | × |
| Quaternion | Euler angles | × |
| Color | (r, g, b, a) | × |
Compound types like Vector and Quaternion are display-only and cannot currently be edited.
Use cases
Inspecting entity states
Examine the current values of specific entities to identify the cause of issues. Pause during Play Mode and capture a snapshot to see all entity data at that point in time.
Testing game logic
Test game logic behavior by directly editing values. For example, set an entity’s HP to 0 to verify that death processing works correctly.
Saving bug reproduction data
Save the entity state at the moment a bug occurs as a .resdata file, then restore it later to continue debugging.
Regression test baselines
Save specific states and load them during test execution to enable consistent testing under the same conditions.
Limitations
| Limitation | Detail |
|---|---|
| Play Mode required | Does not work in Edit Mode |
| Pause required | Capture, edit, and load only work while paused |
| Type compatibility | Loading a file with a different TData type shows a warning |
| Compound type editing | Vector, Quaternion, Color cannot be edited |
| Large data | Works with 10,000+ entities through virtualization, but initial capture may take time |
See Also
- Monitor Window - Real-time event tracking
- ReactiveEntitySet Guide - Basic usage
- Snapshots and Persistence - CreateSnapshot/RestoreSnapshot details