Search Unity

HOT RELOAD - Edit Code Without Compiling!

Discussion in 'Assets and Asset Store' started by reese015, Jan 23, 2023.

  1. TroyDraws

    TroyDraws

    Joined:
    Apr 29, 2017
    Posts:
    13
    This is not something we're aware of.

    - We are running automated builds on Unity 2021.3.13f1 without issue (for a project with Hot Reload).
    - I tried to reproduce with a small Unity 2021.3 project, but it builds fine from the command line

    To fix this I would need a reproduce. Are you able to share a project that reproduces the issue where Unity hangs?
     
  2. Sandler

    Sandler

    Joined:
    Nov 6, 2015
    Posts:
    241
    Hi i just had the time to continue.
    I updated to the last version, and i believe you fixed it? My sln file doesn't have those double names for project items anymore:

    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VoxelBusters.EssentialKit",

    It now went further and tried to compile, and i had to fix some editor things.
    But now it hangs at another point with an similar issue:

    Compiling failed. Retry..
    System.ArgumentException: An element with the same key but differnet value already exists. Key. 'Voxelbusters.EssentialKit'

    Syste...ImmutableDictionary´2.HashBucket.Add(....)
    at >=#JoUg\\r8ihj<=s4Uo4g#4#.????????????????????????(Solution )
    ... etc

    I can see hot reload trying to shuffle the dlls in baselinesTemp & baselines folders. Any way for me to debug this?

    Down are just the pdb & dll file names of VoxelBust, but dlls are all copied: (maybe i need to delete some cache? deleting temp didn't help)


    Other question, does Hot Reload also increase the compile speed when Play mode is currently not active?

    Thanks!

    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.CoreLibrary.Player.pdb"
    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.EssentialKit.AndroidModule.dll"
    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.EssentialKit.AndroidModule.pdb"
    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.EssentialKit.AndroidModule.Player.dll"
    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.EssentialKit.AndroidModule.Player.pdb"
    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.EssentialKit.Demo.dll"
    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.EssentialKit.Demo.pdb"
    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.EssentialKit.Demo.Player.dll"
    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.EssentialKit.Demo.Player.pdb"
    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.EssentialKit.dll"
    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.EssentialKit.Editor.dll"
    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.EssentialKit.Editor.pdb"
    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.EssentialKit.iOSModule.dll"
    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.EssentialKit.iOSModule.pdb"
    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.EssentialKit.pdb"
    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.EssentialKit.Player.dll"
    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.EssentialKit.Player.pdb"
    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.EssentialKit.SimulatorModule.dll"
    "C:\Users\smike\AppData\Local\Temp\HotReloadTemp\MethodPatches\baselinesTemp\VoxelBusters.EssentialKit.SimulatorModule.pdb"
     
  3. dizzy2003

    dizzy2003

    Joined:
    Nov 25, 2013
    Posts:
    108
    Can you make the server window text copiable.
    If this image embeds then it contains a bunch of errors I had with Json
     
  4. dizzy2003

    dizzy2003

    Joined:
    Nov 25, 2013
    Posts:
    108
    adding a simple function call to a MonoBehaviour that inherits from NetworkBehaviour causes exceptions in the server
     
  5. Koara92

    Koara92

    Joined:
    Nov 9, 2014
    Posts:
    100
    Could you try uploading the picture again? Maybe on imgur or something like that if it doesn't work here?
     
  6. Koara92

    Koara92

    Joined:
    Nov 9, 2014
    Posts:
    100
    Hi everyone! Thank you all for your feedback and bug reports.

    We're currently quite overwhelmed by a lot of the recent feedback and bug reports from the community here as well as in our emails, and are working overtime to fix and address them. I apologize since we don't have solutions to some of these issues yet, but rest assured we are working hard to make sure they all get addressed.

    Thanks again for all your bug reports and feedback - and most of all, thank you for your patience as we work through these issues!
     
    eterlan, lacas8282, IgorBoyko and 4 others like this.
  7. IgorBoyko

    IgorBoyko

    Joined:
    Sep 28, 2020
    Posts:
    90
    Hi, we are running prefabs sanity checks within our CI and we noticed 2 interesting prefabs:
    upload_2023-2-13_23-15-19.png

    Both SettingsOverlay and SettingsOverlay2021 have missing scripts on them, so our CI prohibits any further actions. Sure we can ignore those in our sanity checks but just reporting it.

    Thanks for the great tool!
     
  8. IgorBoyko

    IgorBoyko

    Joined:
    Sep 28, 2020
    Posts:
    90
    Same thing here. Unity 2021.3.18f1, HotReload 1.3.4, also unchecked all ticks related to player builds. Should I mention, happens both on Windows and Mac builders running TeamCity
     
    Last edited: Feb 14, 2023
  9. reese015

    reese015

    Joined:
    Nov 29, 2014
    Posts:
    34
    Hey everyone!

    We just released version 1.3.6.

    Fixes:
    • Fixed an edge case with hot reloading methods of Nested types inside generic types
    • Fixed various assembly resolving issues

    Since we needed to move to a different repo because of size and bandwidth restrictions, the update button won't appear in the Hot Reload window for this release. To get this release, you need to re-install it via the UnityPackage or Package Manager - instructions and links can be found on hotreload.net/download.

    Future releases will have the update button in the Hot Reload window as per usual.

    Thank you for your patience as we work through these issues!
     
    valarnur and IgorBoyko like this.
  10. Koara92

    Koara92

    Joined:
    Nov 9, 2014
    Posts:
    100
    Hello! This was about code that is used from an assembly which could not be found. The latest release should fix this issue - if not, let me know!
     
    eterlan likes this.
  11. Koara92

    Koara92

    Joined:
    Nov 9, 2014
    Posts:
    100
    This doesn't really sound like something related to our package as we don't reference or ship with the Microsoft.CSharp assembly.

    Unfortunately, it's likely that your Unity project is misconfigured in some way, so we probably can't fix this for you.
     
  12. eterlan

    eterlan

    Joined:
    Sep 29, 2018
    Posts:
    177
    Hi! Works like a charm! Thanks for your hard working, it's definitely the best and only workable hot-reload plugin I have ever met.
    BTW, I found the download link in your website is git+https://gitlab.hotreload.net/root/hot-reload-releases.git#1.3.6. In this case the update button in UPM would simply download this version again in my experience (1.3.4), you might want to remove the "#1.3.6".
     
  13. TroyDraws

    TroyDraws

    Joined:
    Apr 29, 2017
    Posts:
    13
    I have reproduced Unity being stuck open when the project includes HotReload and the project is being built in an automated environment. The problem was we were opening Unity editor UI even if Unity was running in batchmode.

    I have a fix for this which should make it into the next release. We will mention you again when the fix is released.

    Possible workaround in the mean time: ensure the file `Library/com.singularitygroup.hotreload/installFlag.txt` is created before Unity is opened - this file prevents HotReload from showing prompts when Unity is opened. (I haven't tested this workaround but it should work)
     
    Fuzzeh likes this.
  14. VirtusH

    VirtusH

    Joined:
    Aug 18, 2015
    Posts:
    95
    Still unable to compile on version 1.3.6.
    Windows 11, Unity 2021.3.16f1

    upload_2023-2-14_14-38-19.png
     
  15. theforgot3n1

    theforgot3n1

    Joined:
    Sep 26, 2018
    Posts:
    208
    I have issues making the option "Stop playing and recompile" work again after having tested out Hot Reload but then uninstalling it. It's like Hot Reload changed something with my project which wasn't undone by uninstalling it. I tried removing my Library and I tried reimporting everything. Still the same. Gonna try installing a new version of Unity and trying.

    Anyone had the same issue?
     
  16. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,091
    Have you tried empty project to see if it's not Unity bug? That option is still a bit broken depending on what Unity version you use.
     
  17. theforgot3n1

    theforgot3n1

    Joined:
    Sep 26, 2018
    Posts:
    208
    I tried upgrading from 2021.3.13f1 to 2021.3.15f1. Didn't solve it. Going to try and see if removing the library and reimporting will do.

    It does seem like it might not be related to hot reload directly, since it is removed from the package manager. But what does Hot Reload actually change when you install it?

    EDIT:
    Actually, testing on an empty project 2021.3.13f1 also has "Stop playing and recompile" be broken.
    Testing on 2020.3.32f1 works. BUT, testing the same project on 2021.3.15f1 does not work.
     
    Last edited: Feb 15, 2023
  18. theforgot3n1

    theforgot3n1

    Joined:
    Sep 26, 2018
    Posts:
    208
    Okay. I found out what had changed.
    Hot Reload both changed preferences to
    Stop Playing and Recompile for scripts AND Enabled outside Playmode for Auto-Refresh.

    Makes perfect sense, I just wasn't aware of this. Maybe have these settings be reset after uninstalling Hot Reload. Lost some time now trying to figure this out with test projects and everything.
     
  19. valarnur

    valarnur

    Joined:
    Apr 7, 2019
    Posts:
    440
    Could you get Hot reload into core Unity? Unity is also getting compiling improvement. And with Hot reload it's like fighting with two efforts. It would be the best strategy.
     
  20. rheirman

    rheirman

    Joined:
    Sep 30, 2019
    Posts:
    34
    In standalone Development builds (on Windows) I'm getting this exception when my game boots:

    FileNotFoundException: No HotReloadSettingsObject found.
    at SingularityGroup.HotReload.HotReloadSettingsObject.LoadSettings () [0x0002e] in C:\Users\roolo\Projects\Unity\CursedCrew\Library\PackageCache\com.singularitygroup.hotreload@72bffb5e93\Runtime\HotReloadSettingsObject.cs:62
    at SingularityGroup.HotReload.HotReloadSettingsObject.get_I () [0x00011] in C:\Users\roolo\Projects\Unity\CursedCrew\Library\PackageCache\com.singularitygroup.hotreload@72bffb5e93\Runtime\HotReloadSettingsObject.cs:26
    at SingularityGroup.HotReload.SettingsOverlay.ShowOnAppLoad () [0x00001] in C:\Users\roolo\Projects\Unity\CursedCrew\Library\PackageCache\com.singularitygroup.hotreload@72bffb5e93\Runtime\SettingsOverlay.cs:74


    It doesn't seem to cause any real issues, but I don't want my testers to see any exceptions when the game boots.
    Is there anything I can do on my side to fix this?
     
  21. TroyDraws

    TroyDraws

    Joined:
    Apr 29, 2017
    Posts:
    13
    A workaround to prevent this exception is to go to Hot Reload Settings tab and tick 'Include Hot Reload in player builds'.

    When I enabled this the exception is gone but there is now a warning about a missing script on SettingsOverlay. Until the fix is released your testers will need to ignore this warning.

    Of course these errors shouldn't be happening in the first place - this will be fixed in an upcoming release.
     
  22. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,768
    Want to try this out but it just doesn't work for me. Install the asset, click the Run Hot Load button, server window opens up and then just fills with errors. I have attached a grab below. It just sits there sending out the same error every 5 seconds and the 'Compiling Projects' progress bar doesn't move.
    Screenshot 2023-02-15 141412.png
     
  23. atr0phy

    atr0phy

    Joined:
    Nov 5, 2014
    Posts:
    43
    Tried giving this a whirl on one of my testbed projects.

    Uncommented one single line of code and was immediately hit with a memory leak after compilation. (Further changes trigger the same.)

    A Native Collection has not been disposed, resulting in a memory leak. Allocated from:
    Unity.Collections.NativeArray`1:.ctor(Byte[], Allocator)
    UnityEngine.Networking.UploadHandlerRaw:.ctor(Byte[])
    SingularityGroup.HotReload.RequestHelper:PostJson(String, String) (at Library\PackageCache\com.singularitygroup.hotreload@f27bb4d2bc\Runtime\RequestHelper.cs:236)
    SingularityGroup.HotReload.<PollMethodPatches>d__19:MoveNext() (at Library\PackageCache\com.singularitygroup.hotreload@f27bb4d2bc\Runtime\RequestHelper.cs:70)
    System.Runtime.CompilerServices.MoveNextRunner:InvokeMoveNext(Object)
    System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
    System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
    System.Runtime.CompilerServices.MoveNextRunner:Run()
    SingularityGroup.HotReload.Awaiter:Callback(Object) (at Library\PackageCache\com.singularitygroup.hotreload@f27bb4d2bc\Runtime\ThreadUtility.cs:126)
    UnityEngine.UnitySynchronizationContext:Send(SendOrPostCallback, Object)
    SingularityGroup.HotReload.Awaiter:UnsafeOnCompleted(Action) (at Library\PackageCache\com.singularitygroup.hotreload@f27bb4d2bc\Runtime\ThreadUtility.cs:121)
    System.Runtime.CompilerServices.AsyncVoidMethodBuilder:AwaitUnsafeOnCompleted(Awaiter&, <PollMethodPatches>d__19&)
    SingularityGroup.HotReload.<PollMethodPatches>d__19:MoveNext() (at Library\PackageCache\com.singularitygroup.hotreload@f27bb4d2bc\Runtime\RequestHelper.cs:68)
    System.Runtime.CompilerServices.AsyncVoidMethodBuilder:Start(<PollMethodPatches>d__19&)
    SingularityGroup.HotReload.RequestHelper:PollMethodPatches(Action`1)
    SingularityGroup.HotReload.Editor.EditorCodePatcher:OnIntervalMainThread() (at Library\PackageCache\com.singularitygroup.hotreload@f27bb4d2bc\Editor\EditorCodePatcher.cs:107)
    SingularityGroup.HotReload.<>c__DisplayClass10_0:<RunOnMainThread>b__0(Object) (at Library\PackageCache\com.singularitygroup.hotreload@f27bb4d2bc\Runtime\ThreadUtility.cs:84)
    UnityEngine.WorkRequest:Invoke()
    UnityEngine.UnitySynchronizationContext:Exec()
    UnityEngine.UnitySynchronizationContext:ExecuteTasks()


    Needless to say this is gonna be a hard pass for me. Figured it was too good to be true. Between Unity occasionally not working as intended and dealing with issues in my own code, I have enough bugs to worry about. Was worth a look though if nothing else.
     
  24. Koara92

    Koara92

    Joined:
    Nov 9, 2014
    Posts:
    100
    This is still on the list of things we need to fix. I know it's probably annoying to not be able to try out Hot Reload because of a blocking issue like this, but we will hopefully be able to get to this soon. I sincerely apologize for the wait and will see if it's possible to get this prioritized, as it's one of the more commonly reported issues. Thank you for your patience!
     
    Last edited: Feb 16, 2023
    VirtusH likes this.
  25. Koara92

    Koara92

    Joined:
    Nov 9, 2014
    Posts:
    100
    This is a harmless issue which doesn't impact Hot Reload's ability to function. The reason why it hasn't been fixed yet is because it is an issue with the UnityWebRequest implementation, so a fix would need to be a workaround with our own custom web request implementation. Several other people here have already pointed out the issue, and we are open to fixing it if it bothers a lot of people. Since we just launched less than a month ago, we are still quite stacked with things to fix - but we will likely be addressing it eventually!

    Like I said though, this error doesn't impact Hot Reload's ability to function. We built this tool for our project with more than 2 million lines of code and it works extremely reliably for us. Of course some people are still running into issues with their own projects, and we are doing our best to fix them as fast as we possibly can.
     
    Last edited: Feb 16, 2023
    VirtusH and lacas8282 like this.
  26. atr0phy

    atr0phy

    Joined:
    Nov 5, 2014
    Posts:
    43
    Perhaps not, from Hot Reload's perspective. But from my perspective as a developer? I need that console to report information, warning, and errors that are pertinent to me. Harmless or not, the last thing anyone here needs is to have to sift thru lines upon lines of output that's irrelevant to what they're actually working on.

    But all that aside, my biggest issue with packages like this is that less experienced developers, annoyed with compile times as their project grows, are naturally going to google how to speed it up. And instead taking the time to learn how Unity handles script compilation and learning the best practices to mitigate the issue themselves (e.g. fine tuning assembly definitions,) they're going to latch onto solutions like this, limiting their ability to grow as a developer and even going so far as to potentially paying you for the opportunity to do so.

    If all you're concerned with is shaving some extra revenue off of fellow developers, then by all means, keep trying to sell your product by reminding us how many lines of code your unrelated project has. But if you really want to help people, then first and foremost you should be encouraging folks to learn by outlining precisely what hot reload is actually doing under the hood and why. But judging by the obscene amount you're charging for this, I'm betting your interest lies in the former.
     
  27. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,091
    It isn't harmless, Unity may crash if it tries to access the same memory that was leaked from NativeArray. Would be rare if it happens only once per reload but still possible.

    I don't think there's an issue with UnityWebRequest, rather your code has pending request that doesn't get disposed on some kind of domain reload. 2 fixes I can think of:
    1. Use C# HttpClient, btw it performs better and allocates less than UWR
    2. Dispose all pending UnityWebRequests in finalizer - since there are no static finalizers you can use static contractor to create an object with finalizer that will call static dispose.
     
  28. Koara92

    Koara92

    Joined:
    Nov 9, 2014
    Posts:
    100
    Thanks for the feedback. We'll make sure this gets fixed for a future release, though no promises as to when since we will still be prioritizing blocking issues (like compiler errors) first and foremost.
     
    VirtusH likes this.
  29. reese015

    reese015

    Joined:
    Nov 29, 2014
    Posts:
    34
    Hey everyone!

    We just released version 1.3.7.

    Fixes:
    • Fixed key conflicts because of project names with '.' in their name
    • Fixed an issue where Unity batch mode would not exit if Hot Reload was installed

    Many more fixes on the way!

    Thanks again for all your bug reports!
     
  30. TroyDraws

    TroyDraws

    Joined:
    Apr 29, 2017
    Posts:
    13
    Hot Reload version 1.3.7 has fixed the issue where Unity was stuck open when the project was being built in an automated environment.

    @Fuzzeh @IgorBoyko your automated builds should be working again after updating - please let us know if there is still an issue.
     
    IgorBoyko likes this.
  31. Koara92

    Koara92

    Joined:
    Nov 9, 2014
    Posts:
    100
    @Sandler @VirtusH @SpookyCat The latest version v1.3.7 addresses an issue which is likely the cause of your errors.

    Please let me know if you're still running into issues! Thanks!
     
  32. VirtusH

    VirtusH

    Joined:
    Aug 18, 2015
    Posts:
    95
    No such luck unfortunately!
    upload_2023-2-16_11-46-19.png
     
  33. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,768
    Doesn't work for me either, still getting the same errors, and yes with version 1.3.7
     
  34. Fuzzeh

    Fuzzeh

    Joined:
    Feb 7, 2016
    Posts:
    3
    Looks good! Thank you!
     
  35. jannysice

    jannysice

    Joined:
    Jun 8, 2017
    Posts:
    11
  36. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,768
    That seems to have sorted it out. Thanks, I can try this out now.
     
  37. IgorBoyko

    IgorBoyko

    Joined:
    Sep 28, 2020
    Posts:
    90
    I can confirm that editing code is functional now, recently I had issues editing ECS systems made with https://github.com/scellecs/morpeh framework specifically with 1.3.x versions of Hot Reload.

    I would also like to point out a problem I noticed with new MacOS terminal window. I managed to close it by pressing X, and hotreload just keeps running in the background without any direct ability to close it (unless I find it with ps -A and kill it myself). It really is working with a closed window, lol.
     
  38. IgorBoyko

    IgorBoyko

    Joined:
    Sep 28, 2020
    Posts:
    90
    Hello and thanks for your information. I can confirm that builds now work properly without getting stuck using TeamCity, both Windows and Mac builders included.
     
  39. VirtusH

    VirtusH

    Joined:
    Aug 18, 2015
    Posts:
    95
    Alright, it's working!

    I did notice in my first test that trying to add a random button to a monobehaviour wouldn't show in the inspector until a full recompile.

    Code (CSharp):
    1. [Button]
    2. public void ASDF() {
    3.      Debug.Log(1);
    4. }
    I assume this is because of the attribute?

    Either way, Hot Reload doesn't warn me that I need to fully recompile, which seems like a possible oversight.
     
    ksf000 likes this.
  40. VirtusH

    VirtusH

    Joined:
    Aug 18, 2015
    Posts:
    95
    Would it be possible to add an option to automatically trigger a regular compilation if code changes aren't compatible?
    Having to go 'huh, guess it didn't compile, better press Ctrl + R' often is kind of negating the efficiency gains from when Hot Reload does work.
     
  41. eterlan

    eterlan

    Joined:
    Sep 29, 2018
    Posts:
    177
    Hi! just wondering is it hard to incremental update the package? each time it take a while to upate the 500m package.
     
    ksf000 likes this.
  42. Koara92

    Koara92

    Joined:
    Nov 9, 2014
    Posts:
    100
    Yeah, we're aware of this already. We'll be adding a proper way of notifying the user whenever code changes are made that get ignored by Hot Reload (i.e. adding an attribute).

    We probably won't do something like this unless we get a lot of feedback from users that this would be something they'd like to see. From our perspective, most of the gains from Hot Reload come from iterating on things quickly while inside playmode - and we wouldn't be able to do a full recompile unless we're outside of playmode. We will have logs so that the user knows they need to do a force recompile in cases where unsupported changes are made, which should already improve things quite a bit.
     
    VirtusH likes this.
  43. Koara92

    Koara92

    Joined:
    Nov 9, 2014
    Posts:
    100
    This is something we can take a look at in the future - and it can be prioritized if it's brought up more. It can definitely be fixed, though it probably won't be prioritized for now since it would take a fair bit of time to implement.
     
    eterlan likes this.
  44. Koara92

    Koara92

    Joined:
    Nov 9, 2014
    Posts:
    100
    Unfortunately we were not able to reproduce this. This is how many handles are left open on our project with Hot Reload running:



    It doesn't really compare to what you are seeing.

    Is there anything special you have in your project? Would you be able to provide a small sample project with a reproduce, if this issue is still problematic for you?
     
    eterlan likes this.
  45. TroyDraws

    TroyDraws

    Joined:
    Apr 29, 2017
    Posts:
    13
    I was able to reproduce this only once by having 2x Unity projects open (both include Hot Reload as a package).

    I've made it so the Run Hot Reload button stops any existing Hot Reload processes. This fixes the issue where Hot Reload would not work because the previous process is in the background causing interference. This fix should be included in the next release.

    The only downside with this fix is that when the bug occurs, a Hot Reload process is still running until you restart it, which may be annoying? If you have a consistent reproduce that would be helpful - after that one time I haven't been able to reproduce it.
     
  46. reese015

    reese015

    Joined:
    Nov 29, 2014
    Posts:
    34
    Hey everyone!

    We just released version 1.4.8.

    Improvements:
    • Add support for C# 11 in case the compiler Unity ships with supports it
    • Add support for configuring advanced settings for Hot Reload by adding hot-reload-config.json. Documentation about this can be found in the package: Server/hot-reload-config.graphql
    • Add support to Hot Reload code in external solutions that the Unity project depends on (via the config mentioned above)
    Fixes:
    • Fixed various issues related to Unity's inconsistent .sln and .csproj file generation
    • Fixed occasional freezes on domain reload / when updating the hot reload package
    • Fixed errors in Unity console on domain reload or when killing the Hot Reload process
    • Fixed method not found exception when hot reloading method that contains a method call to a nested generic type
    • Fixed multiple Hot Reload processes running on OSX in some edge cases
     
    IgorBoyko, TroyDraws and ksf000 like this.
  47. PandaTheBagel

    PandaTheBagel

    Joined:
    Nov 19, 2022
    Posts:
    2
    Hi, I'm getting a JSON parse error for the package, and my project doesn't compile at all. This started as soon as I installed the package.
    Screen Shot 2023-02-19 at 3.45.30 PM.png
    I'm pretty confused on why this is happening. I'm not getting any other error messages.

    EDIT:
    After further testing, there's something wrong with the settings popup that should happen at the installation of the package. I watched the Quickstart, and reinstalled the package. It turns out that the images used in the settings are corrupted, somehow.
    Screen Shot 2023-02-19 at 3.55.59 PM.png
    This happens for all of the icon pngs in the Resources folder of Runtime.
    Here are the Unity errors:
    Screen Shot 2023-02-19 at 3.57.48 PM.png
     
    Last edited: Feb 19, 2023
  48. IgorBoyko

    IgorBoyko

    Joined:
    Sep 28, 2020
    Posts:
    90
    I would like to bring it up too, then. We are duplicating the package to our local git storage as it's guaranteed to be fast for our employees (nearby and 10 gbit uplink). 500 mb per update might waste a lot of storage pretty fast.

    For our employees, using the recommended git url just does nothing for several minutes in the editor without any progress indication and then it suddenly starts reloading the package as it had been downloading it in the background this whole time. Oh Unity Unity.
     
  49. AngelGalaxyOfficial

    AngelGalaxyOfficial

    Joined:
    Apr 10, 2021
    Posts:
    16
    Hi there,

    I want to use this but I'm a little confused on a few things when it comes to how it'll speed up or avoid the need to compile.

    So, right now, I'm looking into optimizing my compile times in my project with Assembly Definitions so that specific scripts will only recompile if it's been edited versus a full recompilation. Also, there is the 'Fast Script Reload' asset which seems to bypass this entirely and only compile the C# scripts you've edited.

    So, my questions are given this:

    1. Does this support Assembly Definitions? Or if your asset fails to hot-reload and compile something, do I have to do a full recompile which ignores the Assembly Definitions?

    2. If I import a Unity Asset from the store, will it do a full recompile of every single script like it normally does or will this asset only compile the newly imported scripts?

    Because right now, the main issues I have is that I import a lot of Unity Assets I own, and whenever I edit a script, load a project, or the dreaded 'compiling' window appears for whatever reason.. it takes forever due to how many scripts I have.

    Will this help in that way along with something like Assembly Definitions? Or will something like 'Fast Script Reload' be more helpful? Be aware, I am aware one big point of this asset is the 'Hot Reloading' which allows for near instantly reflected changes to avoid needing a full recompile altogether, but I'm wondering will it help the compilation window appear in general less and will it help when not in play mode and hot reloading, with only compiling the script that's been edited and not doing a full recompile?

    If you answer this for me, I'll totally grab it. Thanks so much!!
     
  50. Koara92

    Koara92

    Joined:
    Nov 9, 2014
    Posts:
    100
    Hi there! This is an issue we've been made aware of by another user recently, and we are still actively investigating it and working on a fix. As a potential workaround, it's possible that the "Install using UnityPackage" option on our website might work.

    Could you try installing with the UnityPackage and let me know if that works for you or not?