Announcement

Collapse
No announcement yet.

Plugin Object Pool Component

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    amartis111 I often have problems with Marketplace not building binaries for additional platforms.
    If you use OSX your case may be that OSX/iOS binaries aren't included for your OS at this moment, requiring you to build binaries yourself... Anyway I will check with Marketplace if that's the case.
    | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

    Comment


      Thanks Bruno, I thought it must be something like that. I'll have a hunt online for some info regarding the binaries and do some some checks and test's.

      hmmmm, I've just found a new little thing... sorry. I've been trying to work up a test on my iPhone 5s. cleaned up my scene, its a bare bones of what the game would use. Verify, fix texture's to power of two (big issue on iOS apparently???) and been going through and testing and diagnosing through Xcode/instuments/ device's and simulators etc

      I'm getting a crash when I go from the main menu screen to the first playable level, I've already checked and fixed zombies, nothing is being flagged there.

      The crash is a repeated exc_crash (sigabbt) ..... 'crash on thread 6'. looking at that thread I get this.

      Thread 6 Crashed:
      0 libsystem_kernel.dylib 0x000000018199d2e0 __pthread_kill + 8
      1 libsystem_pthread.dylib 0x0000000181b3e288 pthread_kill$VARIANT$mp + 376
      2 libsystem_c.dylib 0x000000018190bd0c abort + 140
      3 endlesstemplehunter 0x0000000100c5e0d8 0x100708000 + 5595352
      4 endlesstemplehunter 0x0000000100e14e98 0x100708000 + 7392920
      5 endlesstemplehunter 0x0000000100dc89c0 0x100708000 + 7080384
      6 endlesstemplehunter 0x0000000101012cd4 0x100708000 + 9481428
      7 endlesstemplehunter 0x0000000101007b80 0x100708000 + 9436032
      8 endlesstemplehunter 0x00000001010070ac 0x100708000 + 9433260
      9 endlesstemplehunter 0x000000010101cd7c 0x100708000 + 9522556
      10 endlesstemplehunter 0x000000010101b65c 0x100708000 + 9516636
      11 endlesstemplehunter 0x000000010102352c 0x100708000 + 9549100
      12 endlesstemplehunter 0x0000000101022868 0x100708000 + 9545832
      13 endlesstemplehunter 0x00000001010263ec 0x100708000 + 9561068
      14 endlesstemplehunter 0x0000000101204794 0x100708000 + 11519892
      15 endlesstemplehunter 0x0000000101202170 0x100708000 + 11510128
      16 endlesstemplehunter 0x00000001020a5f3c 0x100708000 + 26861372
      17 endlesstemplehunter 0x00000001020a2a70 0x100708000 + 26847856
      18 endlesstemplehunter 0x00000001020a4210 0x100708000 + 26853904
      19 endlesstemplehunter 0x00000001017cd068 0x100708000 + 17584232
      20 endlesstemplehunter 0x0000000100c0e4b4 0x100708000 + 5268660
      21 endlesstemplehunter 0x00000001012a29f4 0x100708000 + 12167668
      22 Foundation 0x0000000182961efc __NSThread__start__ + 1040
      23 libsystem_pthread.dylib 0x0000000181b3d220 _pthread_body + 272
      24 libsystem_pthread.dylib 0x0000000181b3d110 _pthread_body + 0
      25 libsystem_pthread.dylib 0x0000000181b3bb10 thread_start + 4

      seems very nondescript and generic - I haven't been able to find anything online really related or with decent info regarding a fix.

      When I open up with instruments/ memory used I'm seeing some stuff happening relating to the plugin.

      What im seeing is its loading up the main menu level, then when I tap to play the first level it is failing to find the object pool plugin and crashing.

      im running on a 2017 iMac and testing on iPhone 5s. development mode, correct provisions etc, on verify in ue editor I get no issues (yellow text relating to plugin is in the verify log but it just looks like a flag to show that the plugin is being called / used.

      playing in the editor works fine, launching to android is fine. no issues.

      maybe a reinstall of the plugin, marketplace verify?

      not to sure, have you seen this before?

      Thanks for you time,

      cheers
      a



      Click image for larger version

Name:	crashpool.png
Views:	17
Size:	346.4 KB
ID:	1516560

      Comment


        hmmm, just re verified and noticed this, yellow flag on packaging the object plugin

        any idea?

        sorry!

        Click image for larger version

Name:	Screen-Shot-20180817-at-1.54.16-PM.png
Views:	12
Size:	102.4 KB
ID:	1516562

        Comment


          I don't have access to any iOS build pippeline at the moment.
          Epic Games build the binaries for these platforms, but they had an issue with iOS toolchain and since then iOS binaries are missing.

          I will contact them and try to submit an update with request to generate OSX binaries, but I have no ETA for that.
          | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

          Comment


            Legend, thanks so much for you help. No worries on the ETA, I have plenty of other things to work on! Just glad that I know what the issue is so I can keep building for android.

            Comment


              Any idea what causes the first few projectiles spawned to stop at a certain distance and fall to the ground? (the rest shoot normally tho every once in a while another projectile will stop and fall to the ground). Also, why does exposing a variable on spawn and setting the max speed of the projectile (using that variable) not work in the construction script? This works flawlessly for epics projectile component....

              Comment


                I'd suggest downloading demo project and see how physics collision channels are setup there.

                And "Construction Script" will not run if you have "Reconstruct" option disabled.

                _____

                Btw, executing Construction Script is very expensive function call. If you really need it to run every time, pooling will give your game little performance gain over simply using a normal spawned projectile.
                Last edited by BrUnO XaVIeR; 08-22-2018, 12:24 AM.
                | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

                Comment


                  amartis111

                  Version 1.6.0 is up on Marketplace and this version should now contain binaries for Mac Editor, and Mac + IOS runtime binaries as well.
                  Please let me know if that works for you, I report back to EpicGames.
                  | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

                  Comment


                    Hey Bruno,

                    Updated 4.20 and IOS packaging is now working on 4.20.2. 4.19.2 still crashes, but, no worries

                    Thanks for your help Bruno
                    Cheers

                    Comment


                      Ah, I didn't realize calling the construction script would be expensive... I'll avoid that. I'll look into the demo. I still have not been able to replicate the spawned bullets down to the client from a dedicated server. Setting it up just like the normal projectile doesn't work. Hopefully ill be able to use it for spawning pawns on the server otherwise I won't be able to use this plugin at all

                      Comment


                        Yes, I sent update request for Unreal 4.20 only; no earlier versions.
                        | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

                        Comment


                          Originally posted by jdukeunrealdev View Post
                          Ah, I didn't realize calling the construction script would be expensive... I'll avoid that. I'll look into the demo. I still have not been able to replicate the spawned bullets down to the client from a dedicated server. Setting it up just like the normal projectile doesn't work. Hopefully ill be able to use it for spawning pawns on the server otherwise I won't be able to use this plugin at all
                          I will add to my todo list built-in replication support for this plugin, but I've been very busy these last months so I can't say when this will be done.
                          | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

                          Comment


                            BrUnO XaVIeR I need some help with proper implementation

                            We have a near limitless amount of players in our multiplayer game and likewise for the world size (we have solutions for these limitations in UE, don't mind it)

                            There are many different weapons and these weapons can have many different attachments that fire many different projectiles; the projectile class stems from APooledActor.

                            So lets say you have an assault rifle, it's primary fire has fire either AKineticAmmoProjectile or AEnergyAmmoProjectile, and it's attachment is an underbarrel launcher that can fire AFragGrenadeProjectile or APulseGrenadeProjectile. The weapon and attachments can change the ammo they're firing (similar to reloading, there's a delay then the new ammo goes in), and naturally the character can switch weapons and the attachments on the weapon.

                            So where the actual pools are concerned, presumably there would be a pool for AKineticAmmoProjectile, a pool for AEnergyAmmoProjectile, and same for the grenades? How would I handle instantiation and switching pools and all that stuff when changing weapons and attachments? Particularly needs to happen without it hitching.

                            Cheers

                            Comment


                              I would create different auto-initialized Pool Component for each class and attach them to player, not to weapons.

                              Then on spawn from pool, set projectile transform to align with current weapon... Whenever weapon is switched, it's bullets are already in memory so nothing would instantiate until a new persistent level is loaded or player destroyed.
                              | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

                              Comment


                                Originally posted by BrUnO XaVIeR View Post
                                I would create different auto-initialized Pool Component for each class and attach them to player, not to weapons.

                                Then on spawn from pool, set projectile transform to align with current weapon... Whenever weapon is switched, it's bullets are already in memory so nothing would instantiate until a new persistent level is loaded or player destroyed.
                                Thanks. So just to be clear, if I had 500 different projectile types, each player would have 500 pools? Is that possibly an issue?

                                Comment

                                Working...
                                X