{"id":22893399,"url":"https://github.com/shiinarinne/easytimeline","last_synced_at":"2026-03-10T02:33:42.207Z","repository":{"id":161348448,"uuid":"567096460","full_name":"ShiinaRinne/EasyTimeline","owner":"ShiinaRinne","description":"Now you can edit Component/Volume fields in Unity Timeline more easily without writing code","archived":false,"fork":false,"pushed_at":"2024-12-01T07:56:14.000Z","size":201,"stargazers_count":110,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T19:13:21.815Z","etag":null,"topics":["timeline","unity","unity3d-plugin"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ShiinaRinne.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-17T03:52:54.000Z","updated_at":"2025-03-31T14:08:15.000Z","dependencies_parsed_at":"2024-11-07T03:17:11.280Z","dependency_job_id":"8dd50b5f-68bb-4771-a6bf-dbc5f8ceb20d","html_url":"https://github.com/ShiinaRinne/EasyTimeline","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShiinaRinne%2FEasyTimeline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShiinaRinne%2FEasyTimeline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShiinaRinne%2FEasyTimeline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShiinaRinne%2FEasyTimeline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ShiinaRinne","download_url":"https://codeload.github.com/ShiinaRinne/EasyTimeline/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247535520,"owners_count":20954576,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["timeline","unity","unity3d-plugin"],"created_at":"2024-12-13T23:14:21.640Z","updated_at":"2026-03-10T02:33:42.179Z","avatar_url":"https://github.com/ShiinaRinne.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# TimelineExtensions\r\nEnglish | [中文](README_CN.md)\r\n\r\n## Introduction\r\n\r\nA code generator tool for `Unity Timeline` that creates extension code for `Volume` or `Component` without writing code manually. \r\nIt helps rapid prototyping and allows for easy customization of additional logic.\r\nNon-complex generated code can be directly imported into projects.\r\n\r\n[//]: # (This project was originally developed mainly to expand the post-processing volume, \r\nand will gradually improve other types in the future.)\r\n\r\nAt present, there are some extensions to the original Post-Processing Volume of Unity URP, which are used to dynamically adjust the volume in the Timeline\u003cbr\u003e\r\nIt can be directly imported into the project for use, or quickly expand through the \"**MAO Timeline playable Wizard**\" tool.\r\n\r\n![](https://r2.youngmoe.com/ym-r2-bucket/2023/11/fb552984c57c7f0d554303d97d4387c6.gif)\r\n\r\n## Features\r\n### Currently supported parameter types in Component/Volume mode:\r\n- Common basic fields (`int`, `float`, `bool`, `Vector`, `Color`, `Texture`, etc.)\r\n- `FloatParameter`\r\n- `IntParameter`\r\n- `BoolParameter`\r\n- `Vector2Parameter`\r\n- `Vector3Parameter`\r\n- `Vector4Parameter`\r\n- `ColorParameter`\r\n- `TextureParameter`\r\n- `Enum` (e.g., `Depth of Field's` **Gaussian** or **Bokeh** modes. Code generation is supported, \r\nbut the Clip's Inspector panel will list all options at once - you may need to customize the Clip's panel)\r\n\r\n### Currently unsupported or not fully tested:\r\n- `LayerMaskParameter`\r\n- `FloatRangeParameter`\r\n- `RenderTextureParameter`\r\n- `CubemapParameter`\r\n- `ObjectParameter`\r\n- `AnimationCurveParameter`\r\n- `TextureCurveParameter`\r\n\r\n\r\n## Usage\r\n\r\n### Typical usecase\r\n\r\n1. Open the Timeline window and create a new Timeline.\r\n2. Create a new Global Volume, add `TimelineExtensionVolumeSettings` component.\r\n3. Add a new Track which starts with \"MAO\", such as `MAOBloom`.\r\n4. Set TrackBinding to the `TimelineExtensionVolumeSettings` component.\r\n5. Add a new Clip to the Track, edit properties in the Clip or mix with other Clips.\u003cbr\u003e\r\n\r\n#### `TimelineExtensionVolumeSettings` component settings:\r\n- VolumeAccessType:\r\n   - `Profile`: Access a copy of the profile, which will not affect the original volume profile file (but if you adjust the Volume property through Timeline in Editor mode and then manually adjust it, this modification cannot be saved)\r\n   - `Shared Profile`: Access a reference to the profile, which will directly affect the original `volume profile`. The settings cannot be reset after exiting play mode\r\n   \r\n\u003e [!TIP]\r\n\u003e It is recommended to use `Shared Profile` in Editor mode and `Profile` in Play mode.\u003cbr\u003e\r\n\u003e If you need to use this switching method, you can check `AutoSwitchType` in `TimelineExtensionVolumeSettings`\u003cbr\u003e\r\n\u003e For more information, please refer to [Unity Documentation](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@16.0/manual/Volumes-API.html)\r\n\r\n\r\n#### VolumeComponent:\r\n1. You can find it in the menu bar `Window/MAO Timeline Playable Wizard`\r\n\r\n2. Switch `WorkType` to VolumeComponent, select the `Track Binding Type`\r\n\r\n   \u003cimg src=\"https://r2.youngmoe.com/ym-r2-bucket/2023/11/19e8b6032028290d224b7fadef049284.png\" width=\"50%\"\u003e\r\n\r\n3. Set `Default Values` to the Volume\r\n\r\n   \u003cimg src=\"https://r2.youngmoe.com/ym-r2-bucket/2023/11/7a228f2972434178c205c8aaf67a6b0b.png\" width=\"50%\"\u003e\r\n\r\n4. Add the properties\r\n\r\n   \u003cimg src=\"https://r2.youngmoe.com/ym-r2-bucket/2023/11/14b3980e06f8d6cb0b87f9e74eb025e4.png\" width=\"50%\"\u003e\r\n\r\n5. Finally, click `Create`, wait for the compilation to complete and start enjoying~\u003cbr\u003e\r\nYou can find it in `Assets/TimelineExtensions`\r\n\r\n\u003e [!IMPORTANT]\r\n\u003e For Enum types (such as Gaussian or Bokeh mode in Depth of Field), the default rule-based custom Editor generation is not supported.   \r\n\u003e So It will list all fields at once, which might be inconvenient to view.   \r\n\u003e You can either split them into multiple Tracks as shown below, or write your own code for custom Clip Editor extensions  \r\n\u003e \u003cimg src=\"https://r2.youngmoe.com/ym-r2-bucket/2023/11/48d3bda1b26b762ac0477f2b94fc2a75.png\" width=\"50%\"\u003e\r\n\u003e \u003cimg src=\"https://r2.youngmoe.com/ym-r2-bucket/2023/11/8d325d458c0209b9068427474dce6377.png\" width=\"50%\"\u003e\r\n\r\n## Advanced Settings\r\nYou can customize the generated code path and default namespace through `TimelineExtensions/Resources/MAOTimelineExtensionsConfigSO`.\r\n\r\nThe namespace affects how the Track appears in the context menu when adding a Track in Timeline. When a namespace is present, the corresponding Track will be generated in a submenu; otherwise, it will appear in the root menu.\r\n\r\n\u003e \u003cimg src=\"https://r2.youngmoe.com/ym-r2-bucket/2024/11/namespace.png\" width=\"50%\"\u003e\r\n\r\n\r\n## License\r\n[MIT License](https://github.com/ShiinaRinne/TimelineExtensions/blob/master/LICENSE)\r\n\r\n## Credits\r\n- [Default Playables - Unity Technologies](https://assetstore.unity.com/packages/essentials/default-playables-95266)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshiinarinne%2Feasytimeline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshiinarinne%2Feasytimeline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshiinarinne%2Feasytimeline/lists"}