You don't need to copy the other players m_callbacks / m_callback_count fields - they should just be initialized to nil / 0. The m_callbacks array is initialized in SynchronizeUserCallbacks() which is called when the platform player is created - they are derived from the userCallbackStr (which is copied across).