x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

UE 4.15.1 - Nativize blueprint collision bug - Spawning child of a blueprint loses collision settings

I have a setup where I spawn in actors as pickups for the player, they use collision sphere with physics to drop into the world and collide with the world. When I do a build using Nativization, this physics sphere seems to lose it's collision settings and falls through the world.This only happen when spawning a child of the base blueprint I created. Spawning the base blueprint seems to work just fine. I found this bug report that may or may not be related to the same problem I'm having, so here's the link for that just in case there's overlap there.

https://answers.unrealengine.com/questions/543660/nativize-bp-breaks-c-collider-component.html

... Repro

  1. Using an example project like the Blueprint 3rd Person Example...

  2. Create new blueprint Actor.

  3. Inside this new actor, add a collision sphere and enable physics and I also constrain rotation on all axis and set it to only collide with WorldStatic channel, ignore all other channels.

  4. Now make a child blueprint of this new Actor blueprint. No changes inside the child, keep as is.

  5. Inside the level blueprint on begin play, spawn in the child blueprint.

  6. Finally build the project using Nativization for play test.

When you play test notice the sphere drops through the floor, in stead of colliding with it.

Product Version: UE 4.15
Tags:
more ▼

asked Apr 25 '17 at 08:49 AM in Bug Reports

avatar image

Obihb
171 4 12 15

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

2 answers: sort voted first

Hello Obihb,

I was able to reproduce this issue on our end. I have written up a report and I have submitted it to the developers for further consideration. I have provided a link to the public tracker. Please feel free to use the link provided for future updates.

Link: https://issues.unrealengine.com/issue/UE-44333

Make it a great day

more ▼

answered Apr 25 '17 at 02:07 PM

avatar image

Rudy Q ♦♦ STAFF
47.5k 545 132 522

avatar image Obihb Apr 26 '17 at 07:57 AM

Thanks Rudy, much appreciated!.

avatar image Obihb Apr 27 '17 at 12:59 PM

I just wanted to add some info here that I just discovered based on another blueprint I use in my project. so with this one, it's basically for damage, when the enemy does damage to the player, I use a collision sphere to run an overlap event. In this case, it doesn't lose collision all together, but it changes the channels it can collide with. Basically my enemies end up hitting both themselves and the player. I have some custom channels for both player and enemies for collision, for these occasions so only specific things can overlap of course. So I'm not sure exactly what's going on there, how the engine assigns these channels, based on what, but it changes from my "Custom" settings to something else.

The reason I mention this is because originally it looked like it loses all collision, but it seems rather to change which channels are affected. I'm sure you guys would see what's going on there when you look at it, but I just wanted to add this just in case it makes a difference in finding the problem there.

avatar image blobdole Jun 20 '17 at 01:19 AM

I can't be 100% sure but I may be having the same issue with some of my collision presets. In editor or stand alone the collision works as I expect and nothing I am using has custom collision. Once I nativize my build a child actor of mine seems to ignore its collision presets and instead use the default collision of its object type.

avatar image lotodore Jul 02 '17 at 10:41 PM

I'm having the same issue and searched for the problem on my side for the whole day. It is really frustrating how painful it is to enable nativization because of all the problems you encounter. And I am having only a relatively small project.

avatar image jh_hmq Jul 05 '17 at 12:37 PM

I encountered the same issue when nativizing our project in 4.16.1. I investigated a bit and it seems that collision presets are not set correctly for nativized blueprint components. If I ask GetCollisionProfileName for the affected component, it reports correct name, but GetCollisionResponseToChannel can return wrong results. Calling SetCollisionProfileName first with some dummy name and then again with the intended name will apply correct collision profile and the components will start to colliding and overlapping as they should.

I wrapped this to a function to make a playable proof of concept nativized build for benchmarking, but it is in no way sustainable to add that everywhere where custom collision profiles are used. I attached picture of the fixup function.alt text

avatar image Flash7 Sep 22 '17 at 04:48 PM

4.17.1 still has the same bug.

avatar image CUERN1T0S Jan 05 '18 at 09:53 AM

4.18.2 still has the same bug.

avatar image WeoMage Dec 02 '18 at 12:23 PM

4.21 still has the same bug.

avatar image Flash7 Dec 02 '18 at 03:15 PM

it says: Target Fix 4.22

avatar image lotodore Dec 09 '18 at 06:17 PM

Yes. But before that, it said target fix 4.21, and before that, 4.20...

avatar image lotodore Feb 13 '19 at 08:37 PM

Rudy, is there some developer comment available as to why this is not being fixed? It has been retargeted several times now, and currently has no target release at all.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

I used the method discovered by @jh_hmq for a while, which fixed some things, but then I encountered a very stubborn issue where a couple actors refused to overlap in packaged+nativized Blueprint, even though their collision channels were reporting correctly (via "Get collision response to channel" --> "Print text" on runtime). Somehow, re-applying every collision channel solved this problem ("Get collision response" --> "Set collision response"). Only god knows why this works.

tl;dr: I now have this function attached to every collide-able actor's BeginPlay event, which takes an array of "Primitive component object references" and applies this nonsense workaround to each.

Screenshot of collision fixup function

collision-fixup.png (163.3 kB)
more ▼

answered Feb 14 '19 at 01:24 AM

avatar image

seanny
24 3 3

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question