Announcement

Collapse
No announcement yet.

C++ and UE4 veterans using hot reload?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    C++ and UE4 veterans using hot reload?

    I've only started using UE4 with C++, when I'm searching through forums everyone seems to say that hot reload is broken and don't use it etc.

    But my suspicion is that the reasons hot reload breaks are known to really experienced UE4 and C++ devs, and once people have a deep understanding they'll know how to avoid all the problems that cause it to break.

    Is this the case? I've come from a different large code base where people thought things would break randomly, but there was always a specific reason. Or does it really just have a lot of different random failure modes?

    #2
    I just compile twice to get hot reload to work. This usually works about 99% of the time.

    Comment


      #3
      Originally posted by Jaikose View Post
      I've only started using UE4 with C++, when I'm searching through forums everyone seems to say that hot reload is broken and don't use it etc.

      But my suspicion is that the reasons hot reload breaks are known to really experienced UE4 and C++ devs, and once people have a deep understanding they'll know how to avoid all the problems that cause it to break.

      Is this the case? I've come from a different large code base where people thought things would break randomly, but there was always a specific reason. Or does it really just have a lot of different random failure modes?
      It breaks when you change the structure of a class, so you add a method or variable. You have to relaunch the engine. It works fine as long as you are just changing logic within a function. Personally I just run out of Visual Studio and don't even worry about hot reloading, that way I can get all the debugging info if something crashes or step through various methods.
      Able Ability System - A high performance, robust ability system for UE4. Now Available!

      Comment


        #4
        Pretty much what ExtraLifeMatt said. The issue I've seen is for any Blueprint related stuff. So if you add a new function or a property defined in C++ that you have exposed to Blueprint will need a restart if you have opened that blueprint in the editor. If you have not opened said blueprint in editor than I have found the hot reload works fine. On the other hand, If you just change the contents of how an already established function works it's no problem. The issue is more of a problem with how Blueprint Works than hot reload.

        Also instead of hot reload I highly suggest using Live Coding, it is in the experimental features set but I was using it way back on with 4.18 when it was Live PP and didn't come standard with the engine like it does now. It will change your development life. The ability to compile while you are still playing in PIE and have the functionality change in real time is just an amazing feature, to debug your game without having to relaunch it in PIE is a miracle of modern development. It still has the same limiation with blueprints as Hot Reload but that live compile is an amazing feature.
        Professional Game Developer
        Asadeus Studios

        Marketplace Content:
        Pro Mounting System

        Comment


          #5
          It breaks when you change the structure of a class, so you add a method or variable. You have to relaunch the engine.
          Awesome thanks so much for the clarification, that makes perfect sense and lines up with why it's failing for me a lot, I'm doing constant structure changes and blueprint edits while I'm learning how to extend all the different classes.

          The ability to compile while you are still playing in PIE and have the functionality change in real time is just an amazing feature
          BY GREAT ZEUS' BEARD!!!!!!!!!

          I just tested Live Coding and it works! This is truly incredible! I cannot thank you enough for pointing this out. I feel like the gates of heaven have just opened before me!

          Comment

          Working...
          X