Verse Persistence failing over Scene Graph component

The problem is that you have two Temporary modules, one in the /UnrealEngine.com, and another on the /Verse.org. To fix that, you need to qualify the temporary module being used, or import them differently to avoid these conflicts.

Your problem is the same as this one: Compile Error: /Temporary Submodule Conflict in ScenegraphUtils.verse Between /UnrealEngine.com and /Verse.org - #2 by Sprintermax

Also, ignore the “verse persistable data is not backward compatible”. In this case, that is a generic error message that does not properly describe the real problem (the conflicting modules).
Your problem has nothing related to persistable but is related to the actual code compiling itself…

Your DoorWorldTransform is using LUF SpatialMath, but your DirectionToPlayer is doing a wacky mix of LUF and old XYZ spatial math. This needs to be handled in a proper way, such as this example:

using { /Verse.org/ }
using { /UnrealEngine.com/ }

DoorWorldTransform : (/Verse.org/SpatialMath:)transform = Entity.GetGlobalTransform()
var DirectionToPlayer : (/Verse.org/SpatialMath:)vector3 = ((/UnrealEngine.com/Temporary/SpatialMath:)FromVector3(FortChar.GetTransform().Translation) - DoorWorldTransform.Translation)

(note that even the implicit types are now mentioned and properly qualified on this example)

This is ensuring that the types stored on the variables are the correct expected ones, without conflicting due to ambiguity. (for example (/UnrealEngine.com/Temporary/SpatialMath:)vector3 with (/Verse.org/SpatialMath:)vector3 and /Verse.org/Temporary with /UnrealEngine.com/Temporary).

There is many ways to do that, with different import syntaxes and so on, you just need to use the one you are more familiar with.

1 Like