Announcement

Collapse
No announcement yet.

Plugin Object Pool Component

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

    I have PathFollow too, but not used with the pooled characters. Only special feature for the characters is footprintComponent, but its quite simple. Removed it but somehow it still gave reference error. Might test to remove it gain.

    Comment


      Originally posted by GRADgr View Post
      If this may help you until I get back home to send you logs.

      From the images I've send you LaserblasterBP is spawned and controled via MainPawnBP. But wouldnt this affect also older engine versions?
      Any Actor containing a Pool Component should never be spawned at runtime as doing that, beyond possible issues, also make no sense since the Pool Component is meant to hold the pooled Actors in memory and keep them loaded until the map is unloaded or game closed.
      (not pooled classes such as pooled projectile, the component which spawns pooled actors from pool only)
      | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

      Comment


        The actor with pool comp is spawned once and then stays in game until level is unloaded. I applied the logic that each weapon that player has chosen to carry for the level played will have a different projectile pool (each projectile differs a lot). I will send you details soon

        Comment


          Bruno i have emailed you with more details, hope this helps a bit :-)

          Comment


            I have the blueprint, that have all pools, on world from start. So the error isnt connected to pool-blueprint spawning.

            Comment


              Originally posted by GRADgr View Post
              Bruno i have emailed you with more details, hope this helps a bit :-)
              I will build another patch based on your logs and submit soon.
              | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

              Comment


                @GRADgr
                Looking at these logs:
                UATHelper: Packaging (Android (ATC)): Cook: LogBlueprint: Warning: [LaserBlaster_BP] 'Prim_Damage_Max' variable not found. Base class was probably changed.
                UATHelper: Packaging (Android (ATC)): Cook: LogBlueprint: Warning: [LaserBlaster_BP] 'Prim_Damage_Min' variable not found. Base class was probably changed.
                ...
                UATHelper: Packaging (Android (ATC)): Cook: LogTemp: Error: {Pool}:: Trying to Parse Object-Pool Component, but:: Targeting Invalid Pool Component!
                UATHelper: Packaging (Android (ATC)): Cook: LogTemp: Error: {Pool}:: Trying to Parse Object-Pool Component, but:: Targeting Invalid Pool Component!
                I believe there is really something very wrong within your LaserBlaster_BP uasset file or usage of it in game code by other Blueprints; maybe it is corrupted, I don't know.
                I've built 1.3.8 and submitting soon; this time you will be able to package, but if you get a crash when running the packaged game then that really means your LaserBlaster file is somehow messed up and this isn't really a plugin bug at all, it's the Blueprint file... Sending 1.3.8 to Marketplace team now.
                | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

                Comment


                  Thanks for update, this time getting the same thing only as a warning. Not as error. Going to see if the packaged demo launches once packing is finished.

                  Edit: Actually now I have a theory why it gives that error/warning. Cooking only map content and there is no characters placed on level. So probably it looses the whole blueprint since its not packaged, since it dosent have a reference?

                  Edit2: My theory was wrong, still warning (even I have one character placed on level manually per pooled character). But going to see if the packaged Project launches.
                  Last edited by SaOk; 09-28-2017, 05:52 PM.

                  Comment


                    That error/warning means the Pool Component you have attached to the Spawn node is a NULL object.
                    That can only happen if the variable you have attached to the node is being cleared by something or some game code, the Pool Component variable should never be null; but the reason why it is an invalid object in your blueprint when you cook, this is beyond me.
                    | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

                    Comment


                      Ok, very strange definitely. I didnt get yet Project launched. TrueSky plugin seems to be crashing the packaged build (edit: found out I need to copy-paste certain files to packaged build folder, but deleted it too early). Will take time to see if its only thing left, that prevent the launch.

                      Edit: Found out day or two old stagedBuild (packaged without BP compilation manager) and it started working already with the truesky trick. No issues with pooled characters with it. Soon testing with new packaged Project, but seems like there is no real issue.
                      Last edited by SaOk; 09-28-2017, 06:49 PM.

                      Comment


                        It got Packaged on 4.17 for both windows and android, still am getting many many warnings for a lot of uassets, i will try to minimize them and i will send you logs to check.
                        Am still getting the PARSE ERROR, but this time only as a warning. thnx!!!

                        Comment


                          Packaged with BP compilation manager and no issues (even had that warning). Thanks for the plugin again and quick support.

                          Comment


                            What's the status on replicated actor support for this plugin (since network relevancy could automatically destroy/create objects at will)?

                            Comment


                              Originally posted by Cobryis View Post
                              What's the status on replicated actor support for this plugin (since network relevancy could automatically destroy/create objects at will)?
                              I didn't participate in any multiplayer project making use of actor pooling, so I have no plans right now to officially add networking features to this plugin...
                              Although experienced developers on UE4 networking can do it by themselves.
                              | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

                              Comment


                                Hello Bruno,
                                I've just bought your plugin to handle the classic issue of projectile/bullet spawning.

                                So far, in C++ i have Reparent-ed my bullets from AActor to APooledActor, changed their ProjectileMovementComponent to your PooledProjectile .

                                in the level, i created a pool on an empty actor in the level using the Subclass of a bullet i'm using as test.

                                Right now my bullets are spawned in C++ and destroyed in Blueprints.
                                Not 100% sure on how i should handle the spawning, and how to get a reference to the pool via C++.

                                This is how my bullets are spawned right now:

                                Code:
                                ABulletProjectile* Projectile = Cast<ABulletProjectile>(UGameplayStatics::BeginDeferredActorSpawnFromClass(this, ProjectileConfig.ProjectileClass, SpawnTM));
                                        if (Projectile)
                                        {
                                            Projectile->Instigator = Instigator;
                                            Projectile->SetOwner(this); 
                                            Projectile->InitVelocity(ShootDirection);
                                
                                            UGameplayStatics::FinishSpawningActor(Projectile, SpawnTM);
                                        }
                                ShootDirection is used to set the 'Direction' of your Projectile Component.
                                I tried to check your example project but i can't get it to work on 4.17 so i'm a bit in the dark right now. Pretty sure i'm close
                                LinkedIn | Link custom Shaders in 4.21/4.22/4.23 | Atmosphere Modelisation | Distance Matching Locomotion | Nvidia GameWorks builds - 4.19.2 : VXGI2.0, Blast, HairWorks, Flow - Plugins: VictoryBP

                                Comment

                                Working...
                                X