This problem have been fixed.
An update will be submitted soon, once I fix the other issue with the data visualizer panel.
I got your plugin and tried out the demo but I am finding odd behavior, if you load up level 2, do nothing except hit save, and then load that slot all of the characters duplicate.
It’s because of the performance update posted above.
For that to work as before, there is a new option in project settings (on Savior Settings) where you should turn on “Accurate ID checks” again.
The plugin for Unreal 5.4 was submitted and is awaiting review.
Using the 4.5.1 version of Savior, the playtime variable is still an integer and only saves passed hours in the currently loaded level of the current session. Ideally we want to access total playtime in seconds across the entire playthrough (current session length in seconds + any additional time played previously that gets stored upon load)
Did you decide to roll this back?
Or was it perhaps never published?
Cheers
Currently I am working on updating all the other plugins to Unreal 5.4, but I will check this as soon as possible.
@BrUnO_XaVIeR Do you know about any problems with 5.4.1 and World Partition? Actors placed on the map doesn’t seem to be saved. Actors spawned at runtime are working correctly. If you place an actor in the world, save it, then move a little bit around and start PIE without saving the modified actor it is working as well.
Check out this small example project https://drive.google.com/file/d/12Go-EbjDQFT7hHZbaaGi06EBsDd6aY4f/view?usp=drive_link. Save/load with “6” and “8”.
the world partition code use some kind of proxy actor type, and its API is still very closed off.
I didn’t have time yet to return to it and see if anything have been more accessible by Epic.
( we can’t access data from these actor proxy types )
I have a property that doesn’t get loaded properly. The map is not empty by default. When I unequip all items and save/reload, the property is back to default instead of being empty.
UPROPERTY(BlueprintReadWrite, EditAnywhere, SaveGame)
TMap<FGameplayTag, FPrimaryAssetId> EquippedItems;
Looks to be saved correctly.
Do you see the same behavior if you close the editor, open it again and never use the data explorer panel?
There is currently a bug or limitation that prevents the relative transforms of attached actors from saving/loading correctly. This only affects movable actors with direct actor attachments in the editor scene hierarchy or via a call to AActor::AttachToActor(), and not attachments via ChildActorComponent.
The child actor currently has it’s world transform saved instead of parent-relative transform, resulting in additional relative transform being applied at load time.
This can be corrected in Saviour.cpp on lines 3239 and 3288, by checking for GetAttachParentActor() where the actor is not attached to a ChildActorComponent as indicated by GetParentActor():
I have recompiled the plugin and tested this as working.
Yes, doesn’t look like being related to the data explorer. Seems to be the case for all empty maps.
I have noticed the serialized data differs in structure a little bit between an empty map and a filled one.
Shouldn’t TestMap also contain Testmap_KEY and Testmap_VALUE? Both Testmap and Testmap2 are maps GUID=>Int
@DeliciousWhales
I will investigate this on my next work break, thank you very much.
@pladux this is indeed strange.
I will need to take a trip into the reflector code to see what is going on.
Hi Bruno,
Inside each function where you are able to load into a different level, effectively each time where your code is calling GameplayStatics::OpenLevel, would you be willing to expose the Absolute boolean and Options string? Perhaps hiding both variables under the Advanced Display for people to click on to expose them. You’d really help us out if you could add this feature in one of your next releases if you have time to do so. Please check the screenshot below of what I mean.
Kind regards,
Wabo
Hi everyone,
I purchased the plugin and it looks amazing, but I have an issue I’d like to solve.
I added the savior procedural interface to one of my BPs, then created the SGUID (flagged as SaveGame) and set the value in the construction script (using make SGUID). Then I just call Save / Load game world (Async). The problem is, when I load the game, all actors are duplicated. Is important to not the this only happens with actors that have been placed by hand in the level. The runtime spawned seem to work fine. Any ide why this is happening?
Kind regards,
Alex.
Are you using the latest version?
Which Unreal Engine version are you using?
I know why this is happening to you, but I need to know plugin version and know if you have any plugin options unchecked in Project Settings.
Hi Bruno,
Thanks for taking your time answering my question, I really appreciate it.
I’m using 5.1 from source. I usually get this prompt when building the project.
I just load it anyway and the plugin seems to work fine, execpt from that edge case where the actors are duplicated.
Kind regards,
Alex
I think the setting for this was added to 5.4 only. I will add it to 5.3 version as well.
Hi Bruno, thanks for the quick response.
Is there an ETA for that? I could just use 5.4 version or dive into the plugin myself to see if I can fix it.
Kind regards,
Alex.
[EDIT]
Using version 5.4 solved the issue, I had to comment out the IWYSupport from the build.cs (I guess beacuse I’m using an old source code engine - 5.1). Also replaced the DataLayerManager with old DataLayerSubsystem.
I hope this info helps others in the future. Thanks for all the help Bruno, keep up the good work!