I ended up having it do repnotify on the pickup actor, since that’s what actually gets set right before attachment.
In any case, I got it working. In the notify event, I call attach and use the Get Player Character, since on the remote client it should only have the single player index. Works great!
One issue I did notice is that scaled actors are behaving oddly - on the server everything is normal, but on the client, every time the server picks up and drops an item, it gets smaller by whatever scale factor it already had. Not sure if there’s something in my BP that was left over from before or what.
In any case - using the items also works! And I fixed my hunger system to be mutliplayer compatible as well.
Edit: It’s necessary to have some way to repnotify the client about when to detach the object too. I made a bool with a separate repnotify.
Edit again: Figured out the scale issue - make sure to have Maintain World Position checked in all the places where things are detached.