Ultimate Replay 3.0 is currently in open beta with ongoing devlopment!
Follow this thread to receive news and progress updates.
Coming soon to the Unity asset store!
Releasing: 15th September 2023
Support / Suggestions | Discord | Documentation | Samples | Asset Store | Asset Store (Trial) | Ultimate Replay 2.0 (Previous Version)
Ultimate Replay 3.0 Open Beta Is Now Available!
Ultimate Replay 3.0 is now available as an open beta. You can find the latest version over on github (closed source): Ultimate Replay 3.0 - Beta
Ultimate Replay 3.0 Is Suitable For:
Killcam’s or Deathcam’s, Action or Instant Replays, Ghost Cars, Highlights Reel, Sports Montage, Rewind Time, Second Chance Gameplay, Plus many more…
Ultimate Replay 3.0 is the next iteration of our popular Ultimate Replay state based replay system, and aims to make in-game replays, killcams and ghost vehicles easier than ever. We have received some really good feedback and suggestions over the lifecycle of version 2.0, some which we could implement and some which would cause breaking changes. Now we are starting once again with a clean slate to support as many of these features and workflows as possible, while making ease of use a top priority.
If you are not familiar with our Ultimate Replay series, the asset is designed to be a complete replay system for your game to make it easy to add action replays, killcams, ghost cars and much more with minimal effort. It works by capturing a snapshot of the scene at regular intervals containing information such as object postion, rotation, plus other data specified by replay components. The replay system then uses that information to reconstruct a smooth replay using interpolation in the Unity scene which can be rendered by any active camera. For that reason, it is possible to view the replay from any angle and even fly the camera around while the replay is occuring. Also since the replays are rendered in realtime, the replay system can run on any render pipeline with any camera syetem, post effects etc.
Existing Users (Ultimate Replay 2.0)
If you are a previous user of Ultimate Replay 2.0, you may wonder about the future plans for version 2.0 and what will happen when version 3.0 releases. There is no set release date for version 3.0 for the moment, however when it does become available, existing Ultimate Replay 2.0 customers will be entitled to a heavily reduced upgrade price for version 3.0 which will be handled by Unity asset store upgrade system. The final upgrade price is yet to be confirmed, however typically it will be in the area of 25% of the full asset price as with our previous asset upgrades.
When version 3.0 does release, Ultimate Replay 2.0 will remain available on the asset store for long term support, and will continue to receive bug fixes in that time, but note that new feature will likley not be added. Also note that version 2.0 will be marked as legacy at that time and we would encourage users to update to version 3.0 if possible. Feel free to contact us if there are any question.
Features
Most existing features from Ultimate Replay 2.0 have been brought forward and either updated or improved in some way. However based on the great feedback we have received from existing users, we have also refectored many systems and started work on new features that have been requested. Here are some features that are in various states of completion:
- Complete - Refactor main replay API to be simpler to use and more powerful.
- Complete - Support for multiple simultaneous record and replay operations.
- Complete - Highly optimized memory/file storage requirements (More that 2x improvement over the previous version in some cases).
- Complete - Large improvements to runtime performance in terms of memory usage and CPU usage.
- Complete - Massive improvements to replay state API and serialization speed to allow more data ond objects to be recorded on less performant devices.
- Complete - (Highly requested) Support custom metadata stored with a replay. Includes common values like scene name and developer name by default, but can easily be expanded to support any custom data specific to your game.
- Complete - Improvements to replay file streaming performance to avoid buffering issues on slower devices.
- Complete - Add support for operations such as copying or appending to replay storage targets making it much easier to combine replays.
- Complete - Redesign replay component editor inspectors for better usability and dispaly of information.
- Complete - Offer more fine grain control when needed for updating the replay system manually. It is possible to manually update the replay system with a single call to
ReplayManager.ReplayTick(float dt)
- Complete - Support tokenising replay data to support annotateded output formats such as json which expects Key/Value pairs.
- Complete - (Highly Requested) Support using interpolation when seeking. No more snapping to keyframes when dragging the slider, but now you get buttery smooth seeking.
- Complete- Improved compression algorithm to support much smaller file sizes with minimal impact on performance.
- Partially Completed - Single highly optimized replay component to record skeletal animation, IK or ragdoll. The previous version used a ReplayTansform on each bone which is fine, but does come with extra overhead per bone. The new system eliminates that additional overhead, and can also implement some further optimizations. Automatic setup support for humanoid and legacy rigs.
- Completed - (Highly requested) Support streaming to and from json. Writing to json file is working but readin is currently WIP.
- Completed - Introduce lifecycle providers for better pooling support, and to allow replay prefabs to be instantiated from resouces, asset bundles or other sources. The current prefab system in version 2.0 holds a reference to a prefab asset which is not ideal since it forces all prefabs to be loaded at startup, and also does not support loading from arbitrary locations such as resources, or addressables.
- WIP - Support for combining multiple separate replays into a single replay montage such as a hilights reel for example.
- Completed - Support async operations for potentially lengthy tasks such as copying storage targets.
- Completed - Support for fully loading replay files upfront where streaming operations are not desirable.
- WIP - Scripting reference, samples repo and user guide documentation.
Feedback
Missing a feature? Let us know what you would like to see worked on/added either though one of the support channles, or by posting in this thread.
Any feedback or criticismis welcome as it will help us build a better final product to power your games.
Showcase
Simple ghost vehicle example for a racing game:
Simple action replay montage for a racing game showing highlights of the lap when the race has finished: