What is saved in the __ExternalActors__ Folder?

Hello nice people!

Thank you for reading!

I wonder what is saved in these folders below the content folder:

__ExternalActors__ 
__ExternalObjects__

I am quite new to Unreal and read about OFPA, “one file per actor”. Now I wonder if this would be important for me.

I am working at a company doing Archviz. Now I am looking for a way to assign metadata to actors in a level. My idea was to attach Actor Components to actors which then provide the needed data structures and functions to attach the metadata (like multilingual descriptions and so on) to the actors.

Now my colleague said that it would be good to use dataassets for that task. In that case for every actor at least on dataasset would be created and would have to be linked to the actors. He said that this would be the preferred way because in case the uproject-file accidently would become corrupted, one would at least have the dataset files to be able to restore the work.

Now I more ore less by accident created an open world project and stumbled upon this OFPA-approach.

Is it true that each data assigned to an actor in a level, also that provided by an attached actor component, is saved in the one-and-only-actor-file then?

And how does that behave in case the uproject file becomes corrupted? Would it be of advantage then to have used the OFPA approach?

And: If NOT using OFPA, where is the data stored then? Is it directly in the uproject file? And could I use the OFPA approach also when NOT using an Open World project?

Thank you very much!

Hey @zeit-feld,

These folders and actors are necessary for World Partition levels, which is their most common use case. Actors and objects are stored in these folders (external actors and external objects) for world partition instead of the map file itself. Deleting these will likely corrupt your levels.

It is also possible to enable this setting outside of the world partition context:

image

Okay, thank you. However these actors cannot be used as sources of a backup system then, I think. But that’s what I need. The subfolder structure of __ExternalActors__ is cryptic and it is not possible to copy one __ExternalActors__ folder to another project.

So I still wonder if there is a system to “backup” a complete actor with all it’s properties to disk making it possible to restore it’s state later? All at design time…