When attempting to drag and drop an actor from the Content Browser into the level viewport during PIE, the actor is not placed at the mouse cursor location if the Player Controller is attached. Instead, the actor is spawned at an unexpected position in the world. This does not occur when detaching from the Player Controller (via F8), in which case the actor is placed correctly under the mouse cursor.
The issue appears to stem from FEditorViewportClient::CalcSceneView() relying on a stale camera transform obtained via GetViewTransform(), which retains the last editor camera transform before PIE began. Even if the in-game camera is moved during PIE, the 2D-to-3D coordinate conversion for drag-and-drop placement continues to use the cached pre-PIE camera location and orientation. As a result, actors are dropped at positions calculated from an outdated view, leading to misaligned placements.
1. Create a new project using the Third Person template.
2. Start Play In Editor (Selected Viewport).
3. Move the character around and rotate the camera arbitrarily.
4. Press Shift + F1 to release the mouse cursor to the editor.
5. Open the Content Browser and drag & drop a static mesh into the viewport (e.g. Content/Game/LevelPrototyping/Meshes/SM_ChamferCube).
6. Observe that the actor is placed at a location that does not correspond to the mouse cursor.
Expected Behavior: Actors dragged from the Content Browser into the level viewport during PIE should always be placed at the correct 3D location under the cursor, regardless of controller attachment or camera movement.
Actual Behavior: When the Player Controller is attached and the PIE camera has moved, the dragged actor is placed at a seemingly outdated or incorrect 3D position, not under the mouse cursor.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-265390 in the post.
1 |
Component | UE - Editor - Applied Usability |
---|---|
Affects Versions | 5.5 |
Created | Apr 3, 2025 |
---|---|
Updated | Apr 7, 2025 |