- Summary
- Start Here, Example
- Install
- Development: Agentic Workflow, Repo Requirements, Verification
- How to use: Package README
- License
Fluent Playable API is a compact declaration layer over Unity's PlayableGraph (Playable API).
It helps create, connect, name, resolve, and verify Unity playables while still
returning a normal Unity PlayableGraph.
The builder does not own the graph; it only provides helper API to author and verify it.
It addresses a current issue with Unity graph authoring problem: Unity provides a flat view, while Fluent Playable API keeps topology visible and maintainable in code.
The API is intentionally small. It does not replace Unity's graph types, own graph lifetime, or add project-specific animation concepts.
Fluent API for playable graph helps to read, maintain and quickly change the topology.
Verification helps to ensure and catch mistakes early. See Validation.
Custom extension is easy to make and helps organize logic into a building blocks. See Project Extensions.
Fluent API for playable graph helps read, maintain and quickly change the topology.
This repository hosts the development environment and samples for the underlying package: Packages/com.studentutu.fluentplayableapi/README.md.
- Start with Install.
- Fluent API documentation: Packages/com.studentutu.fluentplayableapi/README.md
- Embedded package (see Install): Packages/com.studentutu.fluentplayableapi
See SampleScene and AnimationGraphExample.cs for Fluent Playable API usage.
Use PlayableGraphMonitor (Window -> Analysis -> PlayableGraphMonitor) to view the graph and individual connections.
For more in-depth examples, see the Package README.
The distributable Unity package lives at Packages/com.studentutu.fluentplayableapi. If you only need the package in another project, install that package path directly instead of copying repository files by hand.
- Open Package Manager in Unity (
Window -> Package Manager). - Click
+in the top-left corner. - Select
Add package from git URL.... - Enter the following URL and click
Add:
https://github.com/studentutu/FluentPlayableApi.git?path=/FluentPlayableApi/Packages/com.studentutu.fluentplayableapi
NOTE: If you want to pin the install, append
#branch,#tag, or a commit SHA. Do not assume repo tags map cleanly topackage.jsonversions.
- Close Unity if it is holding the manifest open.
- Open
Packages/manifest.json. - Add the package entry under
"dependencies":
"com.studentutu.fluentplayableapi": "https://github.com/studentutu/FluentPlayableApi.git?path=/FluentPlayableApi/Packages/com.studentutu.fluentplayableapi"- Reopen the project in Unity and let Package Manager resolve the dependency.
If this repository is already checked out next to your Unity project, you can point manifest.json to the package folder directly:
"com.studentutu.fluentplayableapi": "file:../path-to-cloned-repo/FluentPlayableApi/Packages/com.studentutu.fluentplayableapi"Replace ../path-to-cloned-repo with the actual relative path from your Unity project's Packages/manifest.json file to this repository clone.
- Read AGENTS.md before repo work.
- Fast compile:
./rebuildSolutionWithRiderMsBuild.sh - Full Unity compile and solution refresh:
./rebuildSolutionFromUnityItself.sh - Run Unity tests:
./runTestsFromRoot.sh - Parse Unity test output:
./runParsetests.sh - If Unity, Rider, or Git Bash are installed elsewhere, update the hardcoded paths in those scripts and in .vscode/tasks.json.
- CI/Tests/Compilation
- Update Unity Editor and Rider versions/paths in rebuildSolutionFromUnityItself.sh, parseTestErrors.sh, rebuildSolutionWithRiderMsBuild.sh, and runTestsBash.sh.
- For quick MSBuild, use the solution generated by Unity Editor and update
SOLUTION_UNIXin rebuildSolutionWithRiderMsBuild.sh if the solution path changes.
- VS Code tasks use the system Git Bash path:
"C:\\Program Files\\Git\\bin\\bash.exe"(Windows path, properly escaped).
- Unity Hub with a Unity
6000.0+editor installation. - Git and Git Bash.
- Rider or another MSBuild-capable setup.
- VS Code is optional, but the repository's agentic task wrappers are configured there.
- Fast compile output:
CI/RiderMsBuild.log - Unity compile output:
CI/CompileErrorsAfterUnityRun.txt - Unity test output:
CI/CITestOutput.xml - Unity test log:
CI/UnityLogs.log
MIT license.
- Root repository license: LICENSE
- Package license: Packages/com.studentutu.fluentplayableapi/LICENSE
