Flow Stats
Build Your First Flow Stats Profile
Create a reusable Health configuration and give two FlowStats owners independent runtime values.
- Audience
- New Flow Stats users
- Time
- 15 minutes
- Requires
- A Unity scene with two test GameObjects
- Modules
- Flow Stats
On this page
Goal
Create one Profile containing a bounded Health Resource, assign it to two FlowStats components, and verify that shared authoring produces independent live state.
Prerequisites
- Basic familiarity with creating ScriptableObject assets and adding components.
- A scene with two empty GameObjects named
Player AandPlayer B.
What You Will Build
Both owners will reference one Profile. Player A will start at 60 Health. Player B will use an instance override and start at 25. Changing either runtime value will not change the other.
Steps
1. Create the Profile and Health definition
- Create
Flow Core > Stats > Profileand name itStandalone Stats Profile. - Create
Flow Core > Stats > Resourceand name itHealth. - Set Health Minimum to
0, Maximum to100, and Default Initial Normalized to0.6. - Add Health to the Profile’s Resources list.
- Validate the Profile.
Normalized 0.6 maps through the cached 0–100 range, so the default starting Current value is 60.
The screenshot uses the expanded shipped sample Profile, so additional Stats and Resources are visible. The five steps above are the minimum setup required for this walkthrough.
2. Create two runtime owners
Add Flow Core > Stats > Flow Stats to Player A and Player B. Assign Standalone Stats Profile to both components.
The Profile and Resource assets are shared authoring data. Each component will create its own runtime snapshot when it initializes.
3. Override Player B’s starting Health
On Player B, open the Overrides tab and expand Resources.
- Find Health.
- Enable
Override Profile Value. - Set
Initial Normalizedto0.25.
Leave Player A unchanged so it continues to use the Profile value of 0.6.
4. Inspect the live values
Enter Play Mode and open Live Runtime on each component. Player A should show Health 60 / 100; Player B should show 25 / 100.
Use a supported Resource mutation from a graph or C# to change one owner. The other owner’s Health must remain unchanged.
Verify the Result
Common Mistakes
| Symptom | Check |
|---|---|
| Both owners start at 60 | Confirm Override Profile Value is enabled and Initial Normalized is 0.25. |
| Both owners change together | Resolve and mutate a specific FlowStats component, not an authoring asset. |
| Health starts at zero | Check the bounds and initial normalized value, then validate the Profile. |
| A Play Mode asset edit has no effect | Exit and re-enter Play Mode, or explicitly rebuild the runtime snapshot. |
| Profile validation fails | Check missing definitions, duplicate Stable IDs, and invalid Resource bounds. |
What You Built
You created one reusable Profile, one bounded Resource definition, and two independent runtime owners. The instance override changed only Player B’s starting data; it did not duplicate the Profile.
Next Steps
Add Strength, Weapon Power, and a calculated Attack Power Stat to the same Profile.

