Utils/WorldCursor.razor
@using Sandbox.UI
@using Sandbox

@inherits PanelComponent

@namespace HC3.UI

@if ( !IsProxy )
    return;

<root>
    <label>mouse</label>
    <img class="avatar" src="avatar:@(Network.Owner.SteamId)" />
</root>

@code
{
    protected override void OnUpdate()
    {
        if ( IsProxy )
            return;

        if ( Mouse.Visibility == MouseVisibility.Hidden )
            return;

        var camera = Scene.Camera;
        var ray = Scene.Camera.ScreenPixelToRay( Mouse.Position );
        var tr = Scene.Trace.Ray( ray, 100000 )
        			        .UsePhysicsWorld()
                            .Run();

        WorldPosition = tr.EndPosition + Vector3.Up * 16f;
    }
}