Announcement

Collapse
No announcement yet.

Plugin Object Pool Component

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

  • replied
    Oddly the update didn't seem to work I'm afraid

    The crash log is the same pointing to PooledActor.cpp 119. Which I don't understand as I can see the change you made :/

    This doesn't happen for you at all does it when using a shared pool?

    Could be the case that something unique is happening on my side probably.
    Attached Files

    Leave a comment:


  • replied
    Ahhhhhhhhhh ok. I did notice that there was no properties for the plugin in project settings anymore.

    And thanks! I will update and check it out now!

    Leave a comment:


  • replied
    This:
    https://forums.unrealengine.com/unre...09#post1785709


    Epic already published the fix to marketplace, new binaries can be downloaded.

    Leave a comment:


  • replied
    Changing settings from project settings to pool component??

    Leave a comment:


  • replied
    I actually didn't check pointer on line 119.
    This happened after changing settings from project settings to pool component.

    Leave a comment:


  • replied
    Hey that's great to hear!

    However I'm not accessing Owning pool in any of my code at the moment, Blueprint or C++.

    That exception is being triggered in PooledActor.cpp 119 where it's doing the following check:

    Code:
    if (OwningPool->ReinitializeInstances)
    Seems like there is an issue with the following logic which is supposed to prevent the function from performing the spawn at the beginning of the function.

    Code:
    if ((!OwningPool||!OwningPool->IsValidLowLevelFast())&&(!SharedPool||!SharedPool->IsValidLowLevelFast())) {
    UE_LOG(LogTemp,Warning,TEXT("{Pool}:: %s"),TEXT("Actor trying to spawn from Pool, but Owning Pool Component is invalid!"));
    return;}
    Because I don't see this warning message and breakpoints aren't reaching here either :/

    I think what you want to do is an OR if there is some logic that requires OwningPool to have a value? Or maybe a change so that OwningPool isn't used and shared pool is used instead if there is no owning pool, as it seems to not be set for an pooled actor in a shared pool.

    This is just from what I'm seeing. Sorry if overstepping any bounds or not understanding something.

    Leave a comment:


  • replied
    Problem fixed... Unfortunately it's weekend, we have to wait for epic review ^^

    Leave a comment:


  • replied
    Originally posted by Sononeo View Post
    I'm seeing this happen using C++ BeginDeferredSpawnFromPool and when using the spawn from shared pool node in Blueprints.
    Code:
    Exception thrown: read access violation.
    this->**OwningPool** was nullptr.
    Oh okay.
    When using a shared pool, the "outer" is:
    Code:
    yourPoolActor->OwningPool = nullptr;
    yourPoolActor->SharedPool = *this;
    OwningPool ptr should not be accessed from your code when outer is a SharedPool.
    Instead of using GetOwningPool() you should as well use GetSharedPool() in that case.

    ___

    * I will add a patch to prevent a null access violation there.
    Last edited by BrUnO XaVIeR; 08-08-2020, 07:29 PM.

    Leave a comment:


  • replied
    Interesting :/

    I'm seeing this happen using C++ BeginDeferredSpawnFromPool and when using the spawn from shared pool node in Blueprints.

    Attached is the full stack trace from UE4 crash log.

    And this is what Visual Studio output when I was debugging.

    Code:
    Exception thrown: read access violation.
    this->**OwningPool** was nullptr.
    Attached Files

    Leave a comment:


  • replied
    I am not experiencing that, do you have a stack trace log to give me some clue of when/where that's happening?

    C++ code or BP node?

    Leave a comment:


  • replied
    Hey, I've been using the object pooling component for a while now and not sure if it's something specific to me but there's an issue where OwningPool is always nullptr. There are places in PooledActor that seem to reference this but don't check if there is a nullptr.

    Also in the function USharedObjectPool::BeginDeferredSpawnFromPool in OBJPool.cpp this owning pool is always set to nullptr.

    I'm not sure when this change was made, but not too long ago I didn't have this issue. I'd say at least maybe 2 - 3 months ago.

    Leave a comment:


  • replied
    I have no idea how or why marketplace page reverted to show the 4.20 / 4.21 demo projects.
    I edited page again to show links to 4.23 ~ 4.25 folders.

    Leave a comment:


  • replied
    Originally posted by BrUnO XaVIeR View Post
    I upload new files when I get back home.
    Thanks!
    Anyway I managed to figure it out, I actually forgot to turn off gravity so the projectiles were colliding with floor and I was also using a "do once" node from my previous code, now it all works great! Love your plugin cheers

    Leave a comment:


  • replied
    I upload new files when I get back home.

    Leave a comment:


  • replied
    Originally posted by BrUnO XaVIeR View Post

    See demo project and how custom collision presets are used there.
    Misconfigured collision settings can cause undesired behavior with pooled actors.

    https://www.unrealengine.com/en-US/b...sion-filtering
    Ey thanks for your reply, I wanted to see the demos but all the links I found both on market and here are all expired could we get new ones? https://gyazo.com/1536c192bf543409cdcdd38607e2bc09

    Leave a comment:

Working...
X