Animation Event Weaver
Animation Event Weaver
๐ Why Animation Event Weaver?
Unity’s native Animation Events only support:
- One float
- One int
- One string
- One object reference
That’s it.
Animation Event Weaver removes these limitations and introduces a full parameter system with clean editor UI and safe runtime access.
๐ฅ Key Features
✅ Unlimited Parameters Per Event
Define as many parameters as you want inside a single animation event.
Supported types:
- int
- float
- string
- Object reference
- bool
- enum
- Color
- Vector2
- Vector3
All stored cleanly and retrieved safely at runtime.
๐ข Full Bool Support
Native Unity does not support bool parameters in animation events.
Animation Event Weaver adds proper bool support with:
- Checkbox UI
- Default value support
- Safe runtime retrieval
- Clean serialization
๐ฏ Enum Support (Real Enums, Not Just Ints)
Use real enum types directly inside your animation event.
Example:
ShakePreset(enum:EventWeaverCameraShake.ShakePreset)
Features:
- Automatic enum detection via reflection
- Dropdown popup in the editor
- Safe validation at runtime
- Cached for performance
No more manual int-to-enum casting guesswork.
๐จ Color Support
Add full color picker support inside animation events.
- Packed efficiently as int
- No float serialization issues
- Default values supported
- Safe decoding at runtime
๐ Vector2 & Vector3 Support
Add structured vector data directly into animation events.
- Axis-labeled UI (X, Y, Z)
- Safe parsing
- Clean storage format
- Default values supported
Perfect for offsets, forces, spawn positions, directions, and more.
๐งฉ Parameter Grouping & Clean Layout
Organize your parameters using a simple grouping syntax.
Create:
- Horizontal groups
- Vertical groups
- New rows
- Group headers
Result:
- Clean layout
- Designer-friendly interface
- Organized parameter sections
๐ Custom Event Buttons (With Color)
Style your animation event buttons:
[EventWeaverButtonColor(1f, 0.5f, 0.7f)]
- Custom tint color
- Dark & Light mode support
- Automatic fallback texture generation
- Professional look inside editor
๐ Copy & Paste Events
Boost productivity with:
- Copy single event
- Copy all events at current frame
- Paste at current animation time
- Time tracking reference
Native Unity does not support this.
๐ Drag Reorder (Same Frame)
Reorder events that occur at the same timestamp.
- Drag handle support
- Visual insertion indicator
- Undo/Redo support
- Stable time sorting
⏱ Event Time Tracking
Track an event and see time delta from current playhead position.
Perfect for:
- Fine timing adjustments
- Combo systems
- VFX syncing
- Audio timing polish
๐ง Smart Method Filtering
Only methods marked with:
[EventWeaver]
[EventWeaverExt]
appear inside the tool.
Prevents accidental exposure of unrelated methods.
๐งฉ Two Usage Modes
1️⃣ Simple Mode (Native Parameter Upgrade)
Use Unity-style parameters, but with:
- Label customization
- Default values
- Cleaner UI
2️⃣ Extended Mode (Unlimited Power)
Use a structured parameter schema with:
- Unlimited fields.
- Additional parameter type (bool, enum, vectors…)
- Label customization
- Default values
- Cleaner UI
- Grouping
๐ Included Example Scenes
To help you get started quickly, three fully working example scenes are included:
✅ Simple Events Scene
Demonstrates:
- Simple Mode usage
- Default values
- Labeled parameters
- Basic audio and message triggers
- Multiple parameter types
- Bool, enum, color, vector usage
- Grouped UI layout
- Runtime parameter retrieval
Ideal for understanding advanced schema usage.
✅ Gameplay Integration Scenes
Demonstrates:
- Real gameplay example (bullet spawn, slow motion, camera shake)
- Combined features in a production-style setup
- Best practices for structuring events
Great reference for real-world implementation.
These scenes are designed for:
- Quick learning
- Reference implementation
- Copy-modify workflow
๐ก Runtime Safety & Performance
- Attribute reflection is cached
- Enum types are cached
- Event signatures are cached
- Errors logged once (no console spam)
- Safe splitting with escape support
- Fallback values supported for every type
- Full Undo/Redo integration
Designed for production use.
๐ Comparison – Native vs Animation Event Weaver
Feature | Native Unity | Event Weaver |
Multiple parameters | ❌ | ✅ Unlimited |
Bool support | ❌ | ✅ |
Enum dropdown | ❌ | ✅ |
Color picker | ❌ | ✅ |
Vector2 / Vector3 | ❌ | ✅ |
Parameter grouping | ❌ | ✅ |
Default values | ❌ | ✅ |
Copy / Paste | ❌ | ✅ |
Drag reorder | ❌ | ✅ |
Styled buttons | ❌ | ✅ |
Time tracking | ❌ | ✅ |
Safe fallback retrieval | ❌ | ✅ |
๐ฎ Perfect For
- Combat systems
- Shooter games
- RPG ability systems
- Combo attacks
- VFX timing
- Audio triggers
- Cinematics
- Procedural animation logic
- Designer-driven animation workflows
๐ Why Choose Animation Event Weaver?
Because animation events should scale with your game.
Instead of:
One float and a prayer.
You get:
A structured, typed, designer-ready animation event framework.
Animation Event Weaver turns Unity’s basic event trigger into a full production tool.
Upgrade your animation workflow today.
๐งฉ Compatibility
Tested and supported on:
- ✅ Unity 2021
- ✅ Unity 2022
- ✅ Unity 6
Works with Unity’s built-in Animation Window and standard MonoBehaviour animation workflows
๐ฅ Editor Requirement
- Unity Animation Window (built-in)
๐งพ Serialization System
Extended mode stores structured data inside:
AnimationEvent.stringParameter
- Comma-separated fields
- Colon-separated vectors (x:y / x:y:z)
- Escape-safe parsing
- Culture-invariant float handling
- Fallback-safe retrieval
๐จ Color Encoding
Colors packed as a single int:
(r << 24) | (g << 16) | (b << 8) | a
- Compact
- Fast decode
- No float precision issues
๐ง Performance Optimizations
- Attribute caching per type
- Enum type & value caching
- Animation event signature hashing
- One-time error logging
- Lazy UI style initialization
- Minimal reflection calls
Designed for large projects.
๐ Editor Features
- Drag reorder (same-frame events)
- Copy / Paste (single or multiple)
- Event time tracking
- Custom colored buttons
- Grouped parameter layout
- Dark / Light theme support
- Undo / Redo integration
๐ก Runtime Safety
All getters include:
- Label validation
- Type validation
- Enum validation
- Fallback support
- Graceful failure (no crashes)
Example:
float duration = EventWeaverRuntime.GetFloat(this, evt, "Duration", 1f);
Email: reamplyfied@gmail.com
Comments
Post a Comment