Fast Reload | Edit Code & Add Variables Without Compiling
chocospoon
$27.49
$43.99
38%OFF
Jump AssetStore
Edit C# while your game keeps running. Save a script and it's live in about a second: no recompile, no domain reload, no restart.DocumentStop waiting for Unity to compile. Keep playing while you code.Every code change in Unity costs you the same loop: stop Play, wait for the compile, wait for the domain reload, play again, and get back to where you were. Fast Reload removes that loop. Save a script and the running game uses the new code about a second later, with your score, enemies and scene exactly where they were. The game keeps running while Fast Reload compiles.MEASURED IN A REAL PROJECTIn Unity's Boss Room sample (205 scripts, Unity 6000.3), one code change with Unity's default workflow took 17.6 s before you could play again, and the game started over. With Fast Reload the same change was live in 1.6 s while the game kept running.WHAT SETS FAST RELOAD APART- Multiplayer: Netcode for GameObjects, Mirror and Fish-Net. Edited and new RPCs still go through the network, and synced variables added during Play reach every client. A host and a client editor reload together (ParrelSync, Multiplayer Play Mode).- Burst and Entities: Burst-compiled jobs, Entities systems (ISystem and SystemBase) and function pointers reload, and source generators (SystemAPI, IJobEntity) run on the reloaded file, also for new and changed queries. New component types and systems work during Play too. An edited Baker applies when an open subscene bakes again. Jobs you did not change stay Burst-compiled, except generic jobs a reloaded script schedules itself. Changed Burst code and new systems run as plain C# until the next Unity compile, and the Console names the jobs and systems that do. Tested by editing Unity's own DOTS samples during Play and by building a game with Entities during Play.- Debugging: breakpoints stop in reloaded code in JetBrains Rider, Visual Studio and Visual Studio Code, also breakpoints set before the save, with their conditions, hit counts and logpoints.- No server, no account: the C# compiler ships inside the package. Fast Reload downloads nothing, needs no sign-in or config file, and never contacts a server. Your code stays on your machine.CHANGE ALMOST ANYTHING WHILE PLAYING- Method bodies: Update, coroutines, lambdas, LINQ, switch expressions, local functions- New methods, classes, structs, enum values, events and properties- New fields, shown in the Inspector and editable live, with Undo / Redo, also on ScriptableObjects and on components with a custom Editor- New fields on any class of a file, such as a [Serializable] data class next to your MonoBehaviour- The type of an existing field, even when other scripts use it, keeping its Play value when it can be converted- New Unity callbacks: Update, OnTriggerEnter / OnCollisionEnter, OnGUI, UI events and more, also on objects spawned later- Brand-new script files, usable the moment you save them- Editor scripts: custom inspectors, EditorWindows and PropertyDrawers, in Play Mode and outside it- Scripts in packages: embedded, local, Git and tarball packages, and the registry packages you choose- New Entities component types and systems, in a new script or an existing one- Assembly Definitions (asmdef), generics, namespaces, several files saved at once- [InvokeOnFastReload]: run your own method right after each save (spawn a boss, rebuild a level, reset a test)YOUR GAME NEVER BREAKS- A typo or compile error never stops Play Mode: fix it, save again, keep going- A change that cannot be applied safely is refused with a clear Console message, and the game keeps running the last good code- When you stop, Unity compiles your changes normally. Nothing to add to your code, no special base classes, no project setting to changeFAST IN LONG SESSIONS TOOA save compiles only the files that need it, and reload time stays the same after hundreds of reloads in one Play session.WINDOWS AND MACWorks in the Unity editor from Unity 2021.3 LTS to Unity 6, on Windows 64-bit and macOS (tested on Apple Silicon).ODIN INSPECTOR (OPTIONAL)Odin is not required. With Odin installed, fields, attributes and buttons added in Play Mode appear in Odin inspectors too. Tested with Odin Inspector 3 and 4.TESTED, NOT JUST CLAIMEDThis release was checked with:- Unity's Boss Room and Bitesize multiplayer samples, the Mirror examples and the Fish-Net prediction demo, edited in a host and a client editor during Play- Netcode for GameObjects 1.11, 2.x and 3.1, Mirror 96 and Fish-Net 4.7, on Unity 2021.3 to Unity 6, Windows and macOS- Unity's DOTS samples (Entities101, Jobs101, Boids, Graphical) and an ECS game built from scratch, edited during Play, with Entities 1.4.5 to 1.4.8 and Burst 1.8- code using UniTask, VContainer, Zenject, DOTween, Addressables, Cinemachine, Timeline and Input System, edited during Play (Unity 6000.3, Mono)- a 115-case Odin Inspector matrix, on Windows and macOS- Unity 7 alpha (7000.0.0a8 on Windows, 7000.0.0a12 on macOS): C# language cases, a game, editor scripts, Burst and the built-in Entities 6.7, Netcode for GameObjects and Mirror in a host and a client editor, and installing the packageGET STARTED IN 30 SECONDS1. Tools > Fast Reload > Fast Reload2. Press "Start Fast Reload", then enter Play Mode3. Edit and save your scriptsLIMITATIONSSome changes still need a normal Unity compile, and Fast Reload tells you in the Console: adding or removing fields of a struct, a method using a generic class's static fields, a coroutine or async method already running (it finishes with its old code, and the next run uses the new code), an interface added to an existing class, a few callbacks added during Play (OnAudioFilterRead, OnRenderImage, OnApplicationPause, OnApplicationFocus, OnApplicationQuit), and scripts of registry packages you have not chosen. Photon (PUN 2, Fusion) and Netcode for Entities are not supported. Fish-Net 4.7 does not load on Unity 7 alpha, with or without Fast Reload. Linux editors are not supported. The demo games shown in the images and videos are not included.THIRD-PARTY NOTICESFast Reload uses Roslyn (Microsoft.CodeAnalysis), MonoMod, Mono.Cecil and Iced under the MIT License; see the Third-Party Notices.txt file in the package for details.One-time purchase. Runs entirely inside your editor: no account, no server, no subscription.Support: chocospoon280@gmail.com (replies within 24 hours)- Unity 2021.3 LTS to Unity 6 (tested on Windows: 2021.3.45f2, 2022.3.8f1, 2023.2.22f1, 6000.3.12f1; on macOS: 2021.3.45f2, 2022.3.62f3, 2023.1.22f1, 6000.3.26f1; also checked on the Unity 6000.7 beta)- Unity 7 alpha: supported, tested on 7000.0.0a8 (Windows) and 7000.0.0a12 (macOS). Later alpha builds were not tested.- Editor platforms: Windows 64-bit, macOS (tested on Apple Silicon). Linux is not supported.- Works with Mono and IL2CPP builds and any render pipeline (Built-in, URP, HDRP). Fast Reload runs in the editor only.- Builds include only FastReload.Runtime.dll (4 KB) for the [InvokeOnFastReload] attribute.- No project setting to change ("Allow 'unsafe' Code" is not needed since 1.3).- Supports scripts in Assets and in packages (embedded, local, Git, tarball, and the registry packages you choose), including Assembly Definitions (asmdef).- Multiplayer: Netcode for GameObjects 1.11, 2.x and 3.1, Mirror 96, Fish-Net 4.7 (on Unity 7 alpha: Netcode for GameObjects 2.13 and Mirror 96; Fish-Net does not load there, with or without Fast Reload). Two-editor testing with ParrelSync or Multiplayer Play Mode. Photon and Netcode for Entities are not supported.- Burst and Entities (DOTS): tested with Entities 1.4.5, 1.4.6 and 1.4.8, Burst 1.8.28, Collections 2.6.5 and Entities Graphics 1.4.16, and on Unity 7 alpha with its built-in Entities 6.7 and Burst 2.0. New component types and systems added during Play run as plain C# until the next Unity compile.- Debuggers: JetBrains Rider, Visual Studio, Visual Studio Code (Fast Reload adds its small extension to VS Code by itself).- Odin Inspector is optional (tested with Odin Inspector 3 and 4).- Updating from any earlier version: import over the existing "Fast Reload" folder. No manual cleanup needed.- Third-party components, MIT licensed, listed in Third-Party Notices.txt: Roslyn (Microsoft.CodeAnalysis), MonoMod, Mono.Cecil, Iced.AI tools were used to assist in generating and refining the marketing copy and technical documentation for this package.


