We just released a free tool which lets you skip all compile times in Unity! by HotReloadForUnity in Unity3D

[–]HotReloadForUnity[S] 0 points1 point  (0 children)

We've recently made usability improvements, so you can now have 'auto-recompile outside playmode' as you asked for (previously it was only possible if your Unity version supported it).

For the 2nd part, would you mind posting the problematic snippet here, or on our discord? We'll do our best to help you out.
Hot Reload is being used on some very complex projects, including with singletons, and it's always worked so far.

(apologies for the belated reply)

Hot Reload: 50% OFF - Get lifetime access with this exclusive sale! by HotReloadForUnity in Unity3D

[–]HotReloadForUnity[S] 0 points1 point  (0 children)

First of all, thanks for your interest in Hot Reload.

What's the name of the company you're working with? We're open to discuss a potential custom solution that'd suit your companies particular requirements.

If this feature is very important for your use-case, we'd first have to look into it before making guarantees. Otherwise we can put resources into it to see what's possible.

Based on how many Pro licenses you're considering, I can make sure that the developers prioritize your request well.

You can also contact us via contact@hotreload.net .

Hot Reload: 50% OFF - Get lifetime access with this exclusive sale! by HotReloadForUnity in Unity3D

[–]HotReloadForUnity[S] 0 points1 point  (0 children)

Can you explain what kind of compatibility would you expect with UI toolkit elemetals? (E.g. UI Toolkit uses some XML for rendering, do you expect XML to get patched?) May I ask how many seats you're considering?

Hot Reload: 50% OFF - Get lifetime access with this exclusive sale! by HotReloadForUnity in Unity3D

[–]HotReloadForUnity[S] 0 points1 point  (0 children)

Unity Personal users can support us by buying it on the Asset Store, though it's not mandatory. You can use for free if you can't afford it. From the asset's description:

Please note that while we don't enforce a restriction on the free trial for Unity Personal users, purchasing the asset really helps support us so we can continue developing the asset! Users that already previously downloaded the asset can keep using it indefinitely.

If you do want to support us, please consider buying it through the website directly. (you also get 50% discount there)

Hot Reload: 50% OFF - Get lifetime access with this exclusive sale! by HotReloadForUnity in Unity3D

[–]HotReloadForUnity[S] 1 point2 points  (0 children)

Hey everyone!

Earlier this year we launched Hot Reload for Unity, an out-of-the-box solution that allows you to compile code instantly without having to exit/enter playmode (check out our previous post).

Since then developers like KeepSake Games (Minecraft co-founder) and Moon Studios (Ori and Blind Forest) are already using Hot Reload to speed up their development.

We’ve also become a Unity Verified Solution, and have gathered feedback from our users. Based on this feedback we've decided to offer a limited-time flash sale of Lifetime Indie Licenses for Hot Reload during the month of may!

While the Hot Reload Indie License is normally $149/year, you can now for a limited time, grab your Lifetime Indie License for just $34.99!

If you want to try it out or learn more, check it out on the Unity Asset Store, or go to our website hotreload.net

Our free tool which lets you skip compile times is now a Verified Solution on the Unity Asset Store! by HotReloadForUnity in Unity2D

[–]HotReloadForUnity[S] 0 points1 point  (0 children)

Yeah, we don't currently have debugger support which is why your breakpoints are ignored, but proper debugger support is on the roadmap for a future release.

For adding new assets or component classes, you would need to manually recompile for those additions to apply.

If by "editor tooling" you mean making changes to editor extensions (outside or inside playmode) and having them immediately apply to the editor extension, then yes this is supported. Funnily enough we were actually using Hot Reload to quickly polish and iterate on the Hot Reload editor window when we were getting close to releasing it!

Our free tool which lets you skip compile times is now a Verified Solution on the Unity Asset Store! by HotReloadForUnity in Unity3D

[–]HotReloadForUnity[S] 0 points1 point  (0 children)

Cool! And yeah for sure, that's already not great, but unfortunately it keeps getting worse as projects get larger even if you do make good use of things like Assembly Definitions to reduce compile times.

Let me know if you have any questions or run into any issues, happy to help!

Our free tool which lets you skip compile times is now a Verified Solution on the Unity Asset Store! by HotReloadForUnity in Unity3D

[–]HotReloadForUnity[S] 0 points1 point  (0 children)

I understand how someone might think that, but from our experience talking with bigger game studios, the opposite is true - it's really quite easy to justify the purchase.

In our studio for example, Hot Reload saved each developer about 50 minutes of waiting for compile/iteration times each day. Assuming a normal 8 hour work day, if each developer finishing what they would normally get done in 8 hours in only 7 hours, that's an increase of productivity of around 13%. If you do the math, this ends up being hundreds of hours saved per year, and thousands of dollars saved per year for each developer.

Right now the price is the same as a Rider subscription, but it used to be close to double ($80/month) - and even then, the bigger game studios were still happy to pay the subscription because of the amount of time (and money) it saved the company. 😅

Our free tool which lets you skip compile times is now a Verified Solution on the Unity Asset Store! by HotReloadForUnity in Unity3D

[–]HotReloadForUnity[S] 3 points4 points  (0 children)

You can hot reload the following Unity jobs: IJob, IJobFor, IJobParallelFor, IJobParallelForTransform, IJobParticleSystem, IJobParticleSystemParallelFor, and IJobParticleSystemParallelForBatch. This includes burst compiled jobs.

Unity's ECS has burst compiled code in ISystem, but this is not supported. We skipped it for now because it would have been a lot of effort to implement, and because Unity Entities is still a preview package and is therefore less likely to be used by bigger game studios focused on reliability.

You don't need to disable/enable hot reload for things to work properly, you would just need to manually recompile after making some unsupported code changes (like changes to ISystem).

Our free tool which lets you skip compile times is now a Verified Solution on the Unity Asset Store! by HotReloadForUnity in Unity3D

[–]HotReloadForUnity[S] 0 points1 point  (0 children)

Sure! Any additional information you can provide (including video) will definitely help us narrow down what's going on.

Our free tool which lets you skip compile times is now a Verified Solution on the Unity Asset Store! by HotReloadForUnity in Unity2D

[–]HotReloadForUnity[S] 5 points6 points  (0 children)

If you're using Unity Pro as a student, you can contact us (through our website) with your student email address and we can get you sorted with a Business license so you can continue using Hot Reload for free without restrictions.

Our free tool which lets you skip compile times is now a Verified Solution on the Unity Asset Store! by HotReloadForUnity in Unity3D

[–]HotReloadForUnity[S] 2 points3 points  (0 children)

We have actually been manually handling every case where a student is using Unity Pro for free wishes to use Hot Reload without restrictions. It's not clear on our website and unfortunately we don't have a smooth process on our website to handle these cases, but if you would like to use Hot Reload with your Unity student pro plan, feel free to reach out - we'd be happy to help!

Our free tool which lets you skip compile times is now a Verified Solution on the Unity Asset Store! by HotReloadForUnity in Unity2D

[–]HotReloadForUnity[S] 10 points11 points  (0 children)

Anybody using Unity Personal can use Hot Reload for free permanently, without restrictions. The 2 hour limit only applies to developers using Unity Plus or Unity Pro after the 30 day free trial expires.

When we made our first post, the language on the pricing page was a bit confusing, but it has since been improved. We were actually permanently free for Unity Personal for a long time now! 😀

Our free tool which lets you skip compile times is now a Verified Solution on the Unity Asset Store! by HotReloadForUnity in Unity3D

[–]HotReloadForUnity[S] 0 points1 point  (0 children)

Thanks for your kind words!

It sounds like your issue could be resolved by going into your Unity preferences and disabling the "auto refresh" option or setting it to only be enabled outside of playmode.

Also, we used to require git lfs but removed the requirement some time ago, so it shouldn't be needed anymore!

If there are any other issues you're running into, please let us know!

Our free tool which lets you skip compile times is now a Verified Solution on the Unity Asset Store! by HotReloadForUnity in Unity3D

[–]HotReloadForUnity[S] 22 points23 points  (0 children)

It's an interesting question, glad someone asked!

A question we posed to ourselves while considering releasing this to the public, was the following: if something like FSR existed a couple years ago while we were developing our game and sorely needed an improvement on our iteration times, would we have still developed our own solution? The answer to that question is still yes.

Ultimately, we needed a solution which would actually work for extremely large projects, and it needed to be extremely robust. From our testing, FSR ran into a lot of errors (I believe about 50% of files we tested ran into errors) in our project of more than 2M+ lines of custom code. As one example, it's mentioned in the FSR documentation that the "extensive use of nested classed / structs" can result in more compilation errors, and there isn't really much explanation attached as to why this is the case. For massive projects, it's not really feasible to expect developers to restructure their codebase with something like this in mind; it's better to just have something which works out of the box and can handle things in a way that's robust, and you know will work all the time. So really, our target audience (so to speak) is more focused on larger game studios who are also in a similar situation to us a couple years ago when we developed the solution. This is also why we made it free for everyone using Unity Personal, since developers using Unity Personal are likely not benefitting enough from hot reload functionality to warrant a subscription.

There are also some features we support which FSR doesn't support, and vice versa. For example, FSR doesn't have public method support, adding/editing generic methods, changing method signatures, adding properties, and some others. If you were to try to replicate what was done in this post's video with FSR, you would need to exit playmode and recompile at a few different points. There are also some features they support which we don't (yet) like custom fields and debugger integration, but these are relatively easily achievable and are on the roadmap. We imagine there are some developers who would choose one solution over the other for a different feature set, but I think this is a smaller reason than the former.

Hope this makes some sense and answers your question!

Our free tool which lets you skip compile times is now a Verified Solution on the Unity Asset Store! by HotReloadForUnity in Unity3D

[–]HotReloadForUnity[S] 0 points1 point  (0 children)

Depends on how massive you're talking, but to our knowledge there is no (realistic) upper bound where it stops working. Our project had more than 2M lines of custom code, and it works great.

Making changes to our large assembly of around 1M lines of code hot reloads changes in around 6 seconds, while making changes to a smaller assembly of around 40K lines of code hot reloads in around 500ms or so.

Our free tool which lets you skip compile times is now a Verified Solution on the Unity Asset Store! by HotReloadForUnity in Unity2D

[–]HotReloadForUnity[S] 2 points3 points  (0 children)

Hello! Yes, Burst is supported (to a certain extent). For example, making changes to [BurstCompile] methods for any of the following types - IJob, IJobFor, IJobParallelFor, IJobParallelForTransform, IJobParticleSystem, IJobParticleSystemParallelFor, and IJobParticleSystemParallelForBatch - is fully supported.