Changing seasons

Hi I’ve been following these tutorials but I’m stuck on the changing seasons. There are some things slightly different from his as I didn’t use the same foliage he used but i followed it as closely as I could. I’ve been trying to figure this out for a couple of hours now and i just can’t get it. I think it might be something to do with the macros and the event tick as I’ve moved it around and changed the times and everything a few times and changed things in the event begin play order as well. It used to only go from autumn to winter and then i changed things around and it went to spring and got rid of the leaves and then i moved things again and now it only does spring. If anyone has any idea how to fix it that would be great. From what i saw on the simulation it looked like it just skipped set options in the event begin play and then wasn’t searching for then in the event tick, but i’m also still new enough to all this so i could be completely wrong. Any help would be great thank you!

P.S Everything is working in my Material Parameter

I’ve not seen the videos, but this looks like a nightmare to tweak.

I mean… something like just counting to 365 or game time with Map Range Clamped | Unreal Engine Documentation should be more than enough. :neutral_face:

Thanks as I mentioned I’m fairly new to all this how would I use a map range clamp in this context? Would that work with my material parameter?

For example:
Your year goes from 0 → 1 in X amount of time. You have 4 seasons, season 1 will run from 0 → 0.25, season 2 from 0.25 → 0.5, etc… until year completes same time as season 4 and resets.

You can modify parameters just the same. Map Range Clamped also allows you to modify parameters at certain ranges withing the time the “year” variable progresses before reset. So if you want something to go from X value to Y when year goes from 0.4 → 0.6 ( for example ), then just set the node with the values and it will run automatically.

Like this you’ll also have the flexibility of just changing the duration when year goes from 0 → 1. Since everything is governm by values within that range, they will all adapt.

Just by changing the FYearDurationSeconds variable to 4 seconds, you will make each season last 1 second. If you set it to 8, then 2 seconds per season, etc…

Here’s a quick BP I pulled together to create the gif above:

Personally I would not do this with tick and much less all those delays. There are other more effecient ways of doing this driven by events, but for now its OK (sort of).

I prefer something like this:

Hope it helps.