Programming Subsystems | Live from HQ | Inside Unreal

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

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

  • @FranciscoSciaraffia
    @FranciscoSciaraffia 4 ปีที่แล้ว +53

    7:45

  • @kaname110
    @kaname110 4 ปีที่แล้ว +13

    Great! keep bringing C++ streams! \o/

  • @_Crowbites
    @_Crowbites 4 ปีที่แล้ว +10

    Ok so the real question here is, can I even get that shirt, and where?

    • @Buffypoodle
      @Buffypoodle 4 ปีที่แล้ว

      Crowbites Right!

  • @sherifhany386
    @sherifhany386 4 ปีที่แล้ว

    i love shadow river , he's always up their

  • @arianh6553
    @arianh6553 4 ปีที่แล้ว

    awesome! thank you Epic

  • @CallumPooleProgrammer
    @CallumPooleProgrammer 3 ปีที่แล้ว +2

    I guess there's no way to stop these kind of subsystems (score counter, bullet pooler) from getting instantiated while in the MainMenu for example?

    • @BrandonGrimshaw
      @BrandonGrimshaw 3 ปีที่แล้ว +5

      It was mentioned very briefly, but there's a virtual method "ShouldCreateSubsystem" that you can override, in which you can return false to stop the subsystem being instantiated. If you do this in a UWorldSubsystem, you can check the level object/name to instantiate specific subsystems in specific levels.

  • @seal2721
    @seal2721 4 ปีที่แล้ว +1

    Quite impressive!👍👍👍

  • @novaria
    @novaria 3 ปีที่แล้ว +1

    Isn't this a bad example? What if we had more than one player? Does the ScoreSubsystem then get instantiated? How do we know which instance we are contacting? If I understood this correctly, a Subsystem lives globally and it's state is also set globally. So if I were to implement let's say a ScoreSubsystem for a game where I want to keep track of both the Score of NPCs and Players, how would I do that then? I'm guessing Subsystems are not meant for things that are inherently coupled to instances of Actors but rather runtime-wide stuff.

    • @pro.giciel9084
      @pro.giciel9084 ปีที่แล้ว +1

      Yes it does get instanciated because it's a GameInstance Subsystem so as long as the application exist, the ss exists. If you do LocalPlayerSubsystem, it's bound to the Player Controller so in the case you have multiple players just take the right PC then get the Subsystem.

  • @emanuelerusso5710
    @emanuelerusso5710 4 ปีที่แล้ว +1

    hi does anybody know why there isn't a GameModeSubSystem ? We placed a lot of code into the GameMode, because its lifetime was supposed to stop when leaving the map, and a subsystem over there would be great to have

    • @FranciscoSciaraffia
      @FranciscoSciaraffia 4 ปีที่แล้ว +8

      UWorldSubsystem? has the same lifetime as the GameMode.

    • @curtisnewton895
      @curtisnewton895 ปีที่แล้ว

      use GameInstance
      gamemode vanished when loading another level afaik

    • @pro.giciel9084
      @pro.giciel9084 ปีที่แล้ว +2

      @@curtisnewton895 that's exactly why he does want the code in the game mode try to read next time

  • @madturtle84
    @madturtle84 4 ปีที่แล้ว +1

    What happens if you create a subclass of a subsystem in blueprint?

    • @brianpk7206
      @brianpk7206 3 ปีที่แล้ว

      Was wondering the same thing. Did u ever figure it outside?

    • @Mr4Goosey
      @Mr4Goosey 3 ปีที่แล้ว +1

      @@brianpk7206 It replaces the parent class. I'm not sure how this works when you have multiple (potentially chained) child classes, though. I'm personally just doing it so I can have an interface for setting the asset references the subsystem needs.

    • @francislarge5587
      @francislarge5587 ปีที่แล้ว

      I think you can make your base C++ subsystem class "Blueprintable" which will allow you to derive blueprint sub-classes. But this will create two subsystems: one from your C++ base and the other from your BP subclass. To control this, you can tag your base C++ subsystem class as "Abstract" which prevents its instantiation or override the subsystem's "ShouldCreateSubsytem" virtual function to return true if the subsystem object is inside a blueprint class. You can use the inherited UObject function "IsInBlueprint()" for this

  • @Xblade-Dev
    @Xblade-Dev ปีที่แล้ว

    How the heck do you test a subsystem from automation spec cpp test script?

    • @bradenpatterson
      @bradenpatterson ปีที่แล้ว

      Use BeforeEach to start a Play In Editor session and wait for the World to load (best to use a small test Map). In an It/LatentIt, get the Subsystem using the required context, setup specific test conditions and do the tests, then close the World/end Play In Editor in an AfterEach. Add more It/LatentIt/Define/BeforeEach/LatentBeforeEach as needed to test all of your Subsystem"s features.

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

    WTF, is PIE? Is he just replacing the world "play" with "pie" when he's talking? Like when he refers to "playing multi-pie, or pressing the pie button"?

    • @biiiiioshock
      @biiiiioshock 4 หลายเดือนก่อน +1

      Play In Editor

  • @joshuablackmon939
    @joshuablackmon939 4 ปีที่แล้ว +3

    Mastered Bps..
    Now I wanna learn c++ 🙃

    • @tehf00n
      @tehf00n 4 ปีที่แล้ว +6

      You haven't mastered blueprints until you learn C++. Believe me.

  • @JohnRiversOfficial
    @JohnRiversOfficial 2 ปีที่แล้ว

    smh. grass dont grow there

  • @UsernameNULL755
    @UsernameNULL755 ปีที่แล้ว

    Tbh this whole feature seems redundant?

  • @vinnieshuda
    @vinnieshuda 4 ปีที่แล้ว

    oop in his all beuty :)

  • @Erebus2075
    @Erebus2075 4 ปีที่แล้ว +6

    too many words too little said.
    not to be mean, just to many words saying little.

    • @Lhorkan
      @Lhorkan 4 ปีที่แล้ว +5

      I find that that actually goes for most Unreal live streams - also not to be mean, I enjoy listening to them in the background, but many of them could be summed up in 10 minutes, rather than an hour or more.

    • @ilyboc
      @ilyboc 4 ปีที่แล้ว +1

      listen to it with a x3 speed

  • @tiamariejohnson6898
    @tiamariejohnson6898 4 ปีที่แล้ว

    future roblox app