I Hate Data Structures in Unreal Engine ( and how to fix them )

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ธ.ค. 2024

ความคิดเห็น • 28

  • @blindphoenix
    @blindphoenix 2 หลายเดือนก่อน +2

    I made a change to a struct, had errors, I ended up remaking the structure and redoing all references.
    Lessons learnt

    • @peanut_games
      @peanut_games  2 หลายเดือนก่อน +1

      9 years of this 💀
      source control is great but I'd rather it just not happen, even if I have to rework my systems

  • @ryanjdev87
    @ryanjdev87 2 หลายเดือนก่อน

    To fix any of these struct errors I always backup the project before editing them. Then change the struct. rename the struct to whatever u want. fix up redirectors. rename the struct back to its original name. Fix up redirectors again and this should fix all cooking and build errors with structs. I dont think I ever had a decent size project compile first shot without renaming a struct or two really quick

    • @peanut_games
      @peanut_games  2 หลายเดือนก่อน +1

      100%, I wish I could offer a solution to actually stabilize them. I've heard C++ structs are okay, even a long time ago, but that's a barrier for a lot of people. Maybe I'll make a video about that some time. I haven't had the time to get visual studio and blueprint to actually cooperate.

    • @ryanjdev87
      @ryanjdev87 2 หลายเดือนก่อน

      @@peanut_games me neither man IDK how they do it but I've used Visual Studio for 15 years in other languages but with unreal no matter what I do I cant even get the third person template to compile without a ton of errors I've just gave up every time and stuck to blueprints. If it wasn't for all the compilation errors with visual studio I would probably have written almost everything in C++ for optimization but its just to big a headache. I've even spent money on plugins because I needed C++ functionality plenty of times lol :)

  • @FuNKYSPuNKYmusician
    @FuNKYSPuNKYmusician 2 หลายเดือนก่อน +2

    If you save all then change the struct. Save only the struct asset. Close engine. DON'T save all changes. Reopen project and you shouldnt have issues

  • @LOL1423derp92
    @LOL1423derp92 2 หลายเดือนก่อน

    the one thing that you need to understand about structures in unreal, is you try not to modify them. Figure out first what variables you need, then create the structure and dont mess with it. If you need to modify it, backup your project. Thats just how structures are.

    • @peanut_games
      @peanut_games  2 หลายเดือนก่อน +2

      Believe me I knew this going into this project after it happened a million times in my game. Had everything set up for the last year but god forbid I changed an int thinking it'd be okay. But a huge point in my case is, this is an asset, I absolutely cannot have people buying and wanting to modify values only to have it explode. It needs to be customizable.

    • @MaMa-rc4eo
      @MaMa-rc4eo 2 หลายเดือนก่อน +1

      "Thats just how structures are." xD yes, unusable. at least the BP version of it.

    • @MaMa-rc4eo
      @MaMa-rc4eo 2 หลายเดือนก่อน

      i think the correct solution for this is to define the structs in c++

  • @Natehawke
    @Natehawke 2 หลายเดือนก่อน

    Stumbled on to this video because the struct that formed the backbone of my weapon system shit itself for uh... the third time now. Was thinking the same thing - just going to bite the bullet and refactor the system to use data assets.

    • @peanut_games
      @peanut_games  2 หลายเดือนก่อน

      Sorry to hear that. Absolutely if you want flexibility in the future. And if it's already broke, might as well rebuild it stable.

  • @EternalRecurrence88
    @EternalRecurrence88 หลายเดือนก่อน

    Peanut Games, do you have a Discord Channel? I’m having issues with data tables i wanted to see if you couldn’t find a work around. In 5.4 i was able to get it working. I had to create a new Column i just named it 0 and left the rest of the rows black. UE5.4 will just consider that row broken and that was my work around. The problem is i cannot replicate this bug fix in earlier versions. I am trying to develop my product on as many versions of UE as possible, but cannot get anything less then 5.4 to take my data table, or even take it without some clever work around in 5.4

    • @peanut_games
      @peanut_games  หลายเดือนก่อน

      I don't officially, no. Not really sure how I would manage it, basically. Anyway, earlier versions won't take anything. You have to always develop on the lowest version you want to support or remake the entire project -- they are forward compatible but not backward. 😕

    • @EternalRecurrence88
      @EternalRecurrence88 หลายเดือนก่อน

      @@peanut_games thats what i’m saying. I was able to get it to take one of my data tables in 5.4 but not in 5.1… had to add an extra column to 5.4, but even doing that my table will break on 5.1 and so on.

    • @peanut_games
      @peanut_games  หลายเดือนก่อน

      ​@@EternalRecurrence88 But originally what version were the structures and data tables developed on? Like if that data table wasn't created with 5.1 you'll have to make a new one in 5.1 and replace it. I mean either way my personal stance is what I said in the video, get rid of structures and thus data tables, they're super buggy, use Data Assets instead... and you said product so if this is a Fab product, I just wouldn't want to risk structures breaking somebody else's project if they want to add something.

    • @EternalRecurrence88
      @EternalRecurrence88 หลายเดือนก่อน

      @@peanut_games my data table “CSV” is 8001 rows of data. It breaks while importing them on older versions. Even if i get valuable columns i cannot get the appropriate rows to read. I inserted a column called rows. (and numbered them) idk if thats why i am able to read the rows on 5.4 or not. But that column breaks on any older version. That column always breaks on other versions and doesn’t bring in all 8001 rows. If i find a solution on those other versions i would definitely document a work around for data tables breaking upon import. My 5.4 is project is mostly ready to ship, as long as no one wants to replace the data table they should be fine.

    • @EternalRecurrence88
      @EternalRecurrence88 หลายเดือนก่อน

      The big problem is my 5.4 document is my game project. I could ship 5.4 project if it were not built into my existing game. My 5.1 project is user friendly for the consumer, i just cannot get the CSV imported right, and correctly reading from. (/Break Struct)
      My 5.1 blueprints are even set up like a table of contents. Tells the consumer/developer to “click here” if this is what you want to change and will redirect them to the correct blueprint and nodes. Or will give them variables they’ll likely need to change.

  • @MattemIgnorum
    @MattemIgnorum 2 หลายเดือนก่อน

    I had NO idea that structs were so, like... Volatile? I'll be careful, considering I just implemented them into this thing I'm working on, houguh :O This is a good heads up!

    • @peanut_games
      @peanut_games  2 หลายเดือนก่อน +1

      @@MattemIgnorum lmao yeah, it's funny in a ridiculous way how sensitive they are, and for so long. Basically you can't modify them at all once you start to reference them, and like the other comment says - if you really must then back it up first / use source control. I thought simply changing a default integer value would be okay but apparently not 😆

  • @BooneyTune
    @BooneyTune 2 หลายเดือนก่อน

    Tutorials on TH-cam teach beginners this way because it's faster and easier. I find it to be evil and devious to not warn beginners of the dangers.

  • @BooneyTune
    @BooneyTune 2 หลายเดือนก่อน +1

    Tutorials on TH-cam teach beginners this way because it's faster and easier. I find it to be evil and devious to not warn beginners of the dangers.