For context this started with a small bugfix, but it was something fundamentally busted in the way it worked. So rather than trying to rewrite a big rats-nest of code, I’ve been spending the past several weeks trying to consolidate and refactor the way workshop player models are handled. This will make it easier to do more bug fixes, logic tweaks, optimizations, and added features in future.
This sounds like a big task but definitely one worth doing. Any idea if this will help with the big stutter when loading another players workshop model?
Part of that will be mitigated, but there will still be a small hitch. I tried fixing this, but do to various things in how UE4 works when generating the Unreal resources from the workshop file it has to be done on the game thread or it crashes everything. This means this part of it will still hitch. I’d love to move it off of there, but I have to touch some deep engine code to make that work from what I saw in my initial attempt, so that might not be feasible unfortunately.
On the bright side there’s also a small mem-cache for workshop avatars coming with this update (currently we only have a file-cache). So avatars previously loaded should load faster until you hit the cache limit. I plan to make that limit configurable in a future update. When nobody is referencing a particular avatar anymore I rip-down the UE4 resources, but leave our workshop stuff (which is considerably smaller) in memory preventing a read from your hard drive if someone starts using it again.
Does this mean that its possible to update the engine to a newer version? I remember reading somewhere on here a while ago that updating the engine would break workshop support but as it’s being rewritten is it a possibility to update it and get new features? e.g. multiple pak files for smaller updates
It will still likely break it as this is merely the logic surrounding setting, maintaining, adjusting player models. Supposedly 4.19 altered how the underlying meshes are implemented which if so would require us to rewrite how we transfer workshop models from our smaller, compiled format into something Unreal can use.
That said it is something I’m going to try and tackle in the near future just to see if it’s feasible. We would really like some of the optimizations and features they added for Fortnite.