Hi Everyone!
I have the following working blueprints:
Actor
-BasicMagnet
-PlayerMagnet
-DynamicMagnet
-StaticMagnet
Where BasicMagnet has a sphere collision named MagneticField, that looks for Object Responses, Overlap: Magnetic
, and a static mesh named Pole that has Object Type: Magnetic.
Moreover, PlayerMagnet, DynamicMagnet, StaticMagnet is a child class of BasicMagnet. Every colision working as I expected. In this setup, the actors update happens on every ticks, and I would like to change it to be driven by timer.
Because of that I made a new parent class for BasicMagnet (and for other actors which ones I would like to update by the same timer):
Actor
-UpdateableActor
UpdateableActor is an empty Actor blueprint, with an empty update function.
Then I changed the BasicMagnet parent in class settings from Actor to UpdateableActor:
Actor
-UpdateableActor
-BasicMagnet
-PlayerMagnet
-DynamicMagnet
-StaticMagnet
This move broke something in the engine, and the collision detection doesnt working, except
a strange thing, DynamicMagnet is detecting the only the other DynamicMagnets. (the other magnets sphere collision dont find the overlapped magnet objects)
(When I swap the BasicMagnet’s parent class back to Actor, everything works fine again as before) It is soo strange for me, because based on inheritance, there shouldnt be any difference, or if there should be, then none of the magnet should be overlapped by any sphere.
Any idea how could I make tha sphere collision work with the new parent?


