x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

[4.13.1] Derived Data Assets disappear after unrelated crash

Build 4.13.1 Source

Steps

  1. Create a C++ Data Asset (UVehicleConfig)

  2. Create another C++ Data Asset (UVehicleUniformConfig)

  3. Add UPROPERTY reference in UVehicleConfig to UVehicleUniformConfig (so Vehicle configs can reference Uniform configs)

  4. Create Derived Data Assets in Editor: one VehicleConfig and one VehicleUniformConfig

  5. Reference the latter config asset in the former

  6. Add UVehicleConfig reference in AVehiclePawn header. In AVehiclePawn constructor, find and assign the VehicleConfig derived asset created in (4).

  7. Make code changes and perform hot reloads, perhaps with one or both of the derived data assets open

  8. Crash the editor, either through a crash on hot reload or a specific fatal gameplay error

  9. Fix crash, compile, and restart editor. One or more data assets will have disappeared.

Context

Previously I had most pawn code in C++ and some spread out in blueprints. This was messy, and with a recent engine upgrade became completely unstable (the blueprint pawn vehicle movement component was entirely disregarded after the first hot reload since reopening the editor). I have wanted to move to a "gameplay functionality in C++, declarative configuration data in data assets" approach anyway, but this is also proving unstable due to the data assets spontaneously disappearing.

I'm happy to supply my entire project if it helps with debugging. Please let me know. Thanks!

Product Version: UE 4.13
Tags:
more ▼

asked Nov 03 '16 at 11:03 AM in Bug Reports

avatar image

piinecone
537 22 32 370

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

Hey piinecone,

After testing the issue, I was able to reproduce one of the data assets disappearing after performing a debug crash as the final step. However, what I did notice was that you are creating a circular dependency when you are referencing each of the data assets in each other. I believe that this is the cause of the issue that you're seeing when your data asset is disappearing, as when I did not reference one of the assets inside of the other's class, I did not see them disappear.

As a result, I do not believe that this is a bug, as I believe the circular dependency that was created is the culprit when it comes to this issue.

Let me know if you have any further questions or if you believe that I'm misunderstanding the issue and I'll be glad to continue investigating.

Have a great day

more ▼

answered Nov 03 '16 at 03:14 PM

avatar image

Sean L ♦♦ STAFF
43.5k 485 152 442

avatar image piinecone Nov 03 '16 at 03:56 PM

Hey @Sean Flint, thanks for looking into this!

I don't believe there is a circular dependency. The hierarchy should be:

 UniformConfig.Color = "red"
 VehicleConfig.Uniform = UniformConfig
 VehiclePawn.Config = VehicleConfig

The pawn references the "pawn config", which itself references a "uniform config". None of the assets should contain a circular reference, in this case.

Let me know if you'd like me to supply my project. I would have to do so privately, but otherwise I don't mind.

avatar image Sean L ♦♦ STAFF Nov 04 '16 at 01:24 PM

No problem, glad to help.

Okay, it's possible I'm misunderstanding the issue then. If you have the project, you can zip it up and PM me a link to download it from Dropbox or Google Drive through the forums: https://forums.unrealengine.com/member.php?160394-Sean-Flint

avatar image piinecone Nov 14 '16 at 07:56 AM

Hi @Sean Flint,

I'll zip everything up today and upload it, although I doubt there's anything specific to my project causing this issue. I think if you work with a set of derived data assets long enough, you'll eventually encounter some corruption.

This can happen without a crash. For example, I committed my work and shut everything down the other day. Upon reopening the project, a config asset is now unavailable in the content browser. Moving .uasset files from the saved/backup dir also does not work; they never appear, even after deleting the cache.

Perhaps I am the only person experiencing data asset corruption but that seems unlikely to me given how basic my usage is.

Would it help to include the corrupt assets?

avatar image piinecone Nov 14 '16 at 08:02 AM

I should add that it seems essential to perform hotreloads. I will occasionally change a header file, adding a blueprint exposed property to a config data asset base class, and hotreload. I don't necessarily intend to do this because hotreload does not tend to handle header file changes well, but it does happen, and I do think it's a bug that the downside is possible uasset corruption.

avatar image Sean L ♦♦ STAFF Nov 14 '16 at 06:37 PM

Yeah if you could also separately include the corrupted assets that might be helpful as well.

Let me know when you get the project sent and I'll begin looking into it.

Thanks!

avatar image DaOnlyOwner Jan 05 '17 at 12:32 PM

I have exactly the same problem. No circular dependency in my code though. Any news?

avatar image Sean L ♦♦ STAFF Jan 05 '17 at 03:22 PM

Unfortunately, we have been unable to reproduce this issue locally. If you have a new set of repro steps that we can use in a clean project or a simplified test project that clearly showcases the issue, please provide those and I will be more than happy to take a look.

Thanks

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question