Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Each effect follows this structure:
2. A dedicated `MonoBehaviour` runner (nested in the same file or a sibling file) spawned via `EffectRuntimeController.Instance.SpawnRunner<T>(...)` inside `TrySchedule`.
3. The runner handles timing (start/end beat), per-frame updates in `LateUpdate`, and cleanup in `Stop`/`OnDisable`.
4. Registration via `EffectDefinitionRegistry.Initialize(...)` using `Register(new YourEffect())`.
5. Documentation media at `docs/effects/<effect-id>/preview.gif` and `docs/effects/<effect-id>/demo.mp4`, and an entry in `docs/effects/README.md`.
5. A short `.mp4` preview video (uploaded to GitHub, not stored in the repository) showing the event selected with its properties and the effect being applied in the editor, with the link included in `docs/effects/README.md` under the **Preview** section. Since agents cannot run the game to record this, include the following placeholder instead and leave it for the PR author to replace: `<!-- TODO: record preview .mp4 in-game, upload to GitHub, and replace this placeholder with the link -->`.

**Handling effect conflicts and concurrent instances:**
- Before implementing a new effect, consider how it interacts with all existing effects when running simultaneously.
Expand Down
6 changes: 2 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,8 @@ If `BepInExPluginsDir` exists, build output is copied there automatically.
4. Add a dedicated runtime runner `MonoBehaviour` for the effect (in the same file or a sibling file).
5. Implement `TrySchedule` to read entity properties and spawn your runner through `EffectRuntimeController.Instance.SpawnRunner<T>(...)`.
6. Register the effect once in `EffectDefinitionRegistry.Initialize(...)` using `Register(new YourEffect())`.
7. Add media for documentation:
- `docs/effects/<effect-id>/preview.gif`
- `docs/effects/<effect-id>/demo.mp4`
8. Update `docs/effects/README.md`.
7. Record a short `.mp4` preview video showing the event selected with its properties and the effect being applied in the editor. Upload it to GitHub (e.g. by attaching it to a PR comment or issue) and copy the resulting link.
8. Update `docs/effects/README.md` and include the uploaded video link under the **Preview** section for the new effect.

### Pull requests

Expand Down