I have very strange behavior in one of my blueprints, which I even didn’t touch last days. It shows me this warning.
I didn’t change its parent and its childs, child components. Everything was working, until I realized that something went wrong. Yes, it replaced Begin play and Tick with those custom events. I don’t realize why. I have no more details, but if it is necessary I can provide it, just tell me what.
There is some kind of conflict somewhere in your program. Right click and write the original name, the one that conflicted. Then you will be sent to the node that it is conflicting with.
To fix it you just have to change the name of the event and update the calls.
The original name from which it was renamed.
Does this happen in a clean project? When you tried to make the Tick or BeginPLay event, where di you end up?
The error comes from the system having two events with the same name inside the same scope, so fix that and you are good to go. If the step I told you about does not work, then try a new download of the engine. If you are using git or a common computer, someone might have changed something that got merged into the project.
My solution is a fix as it should fix your problem if you just do it.
We use git, we found last commit which is correct. Then we have 6 commits in those we didn’t change this class, its parent, childs, child components. Now we are working in other part of project. we’ve found that something wrong with references, If we delete one class which only casts our broken blueprint, it starts to work sometimes. Some unexpected behavior inside all of this happens. Can it happen because of some cyclic referencing in classes? Also, we have one mesh that causes problem, due to its wrong import from other project and it has null references to its precious project, we also considering this as possible cause.
Now, clean project works well. Even our other projects work good.
It is extremely hard to say without having the project in front of me, but if you try to make the same event twice, then you will be taken to the original event instead. For example:
I have the event Tick already defined somewhere.
I try to right click and write Tick and hit enter to make the node. Instead I am taken to the Tick node that is already there. Thus, these collisions will never happen unless:
- You copy paste code into it.
- Reparent the class.
- Add an interface with the events defined.
As long as it is not opened in the editor the compiled bytecode has random names for all events. When trying to recompile, however, it is using the human readable names and thus it can throw an error only when recompiling.
lol, I missclicked and deleted first reply. I understand you, but why it works when we delete other blueprint? In addition, I replaced all of those nodes, then it starts to work, but when I restart project problem comes back.
Is it possible to update all references of some class or even project at all?
Try the FixUpRedirects in the project conttent browser. The only other thing I can think of is redownloading the source code into a clean directory and then rebuilding.
If that does not help I can not help you further and I hoope someone who can shows up.
You can’t copy the the original Begin Play and Tick Event so it will create a new custom event automatically. Can it be that you’ve copied the Event Begin Play?
Otherwise try and select all Blureprint Actions, right click and Refresh Nodes.
FixUpRedirects does nothing
So basically after a ton of experiments its clarified that the issue is caused by reference from other blueprint.
The issue reappears if I switch MOBAVRPawn to any other child of VRPawn.
There is also a [critical error that appers in the log].
After recreating begin play and event tick nodes it compiles like there are no issues at all, but after reopening the editor problem reoccurs.
More likely K2 Linker does not obtain the link to the parent when compiling this blueprint on launch, and somehow does not make editor to crash.
Redownloading source code also useless, any other suggestions? We are trying to remove some blueprints or replace them with new one, then we check whether it works or not, should we change direction? Did you face something similar to our problem?
To avoid a confusion, we are working on the same project.
Ok, after unreal struggle the only working solution was to create a new pawn, and to recreate all of its functionality. Apparently deletion of VRPawn led to crash, so we had to manually re-tether all pins to new class and then delete corrupted asset.
Alternative options we tried:
Created a new child of VRPawn, and reparented MOBAVRPawn to it. (Caused a crash)
Moved to last valid version of project using version control and tried to recreate all changes. (At some point changes in random assets caused this issue to appear)
Possible reasons of this problem to occur and what we’ve tried to fix it:
- We found one asset that was incorrectly imported.
- Both VRPawn and Tower had multiple redirectors, its possible that one of them was corrupted. But note that fixing up redirectors made no effect. Also their redirectors did not delete after fixing up (Editor showed message that redirectors preventing those assets from removal).
- Tried converting project to CPP and launched engine with a debugger. It did not unveil nothing new since we have no team members who are experienced in debugging K2 linker.
- Tried duplicating VRPawn and reparenting MOBAVRPawn to copy. Before replacing references it behaves as intended, after changes the issues reappear.
- Tried deleting nodes from Tower, that were referencing MOBAVRPawn. To our surprise it did fix the issue in one of the commits (6 away from top), but not at the latest.
Try check if there are circular references, it seems UE4 cannot handle circular reference with Macro Library involved correctly.