I found the section in Editor Preferences > General > Keyboard Shortcuts > Possess or Eject Player and it is correctly set to F8. When I press F8 in play mode I’m not getting ejected from my player view. Know anything I can try to fix this? The function used to work.
This is happening to me too. I’m using a Kinesis keyboard that requires me to press a “fn” button to activate my function keys. I guess we could always just create a new binding…
I found that it does not work with the New Editor Window, but does work for me in the Selected Viewport only. I’m not sure this is intended, but I guess I’ll just have to not use the new editor window.
Nice–Selected Viewport works for me as well. Thanks for the tip!
I have done every thing what you guys mentioned, but nothing happened
Hey, I ran into the exact same problem as well, My solution is to simply remap it to F8 again and it started working.
Thank you
I don’t know if this is a bug or intended behavior, but if you look at the C++, in DebuggerCommands.cpp
, in FInternalPlayWorldCommandCallbacks::PlayInEditorFloating_Clicked()
, you can see the code is getting ActiveLevelViewport
, but it is not setting SessionParams.DestinationSlateViewport
before calling GUnrealEd->RequestPlaySession(SessionParams)
, which other similar functions do.
In that same file, in FInternalPlayWorldCommandCallbacks::CanPossessEjectPlayer()
, it checks DestinationSlateViewport.IsValid()
If you stop in the debugger, you’ll see that DestinationSlateViewport
is null, so that function will return false
, which prevents the user from Ejecting during Play In New Editor Window.
A simple workaround that I do is create a Blueprint subclass of SpectatorPawn
and map another keyboard button to spawn a SpectatorPawn, and then have the player possess the SpectatorPawn.
I save a reference to the previous player pawn and when pressing the input again, re-possess the old player pawn.
Create Spectator Pawn Blueprint Class:
Create and Possess Spectator Pawn
Re-possess Player Pawn and Remove Spectator Pawn