I think Wormbo meant "
Did you make sure the code containing your SetBoneRotation call is executed at all on the client?". You say your code is called from Tick(), but does the actor have an appropriate RemoteRole which means that Tick() is executed on a client as well? Not all actors do by default so it depends on what the superclass is and whether you've set RemoteRole explicitly: if RemoteRole is ROLE_DumbProxy then that may be your issue.
Also, for performance reasons, sometimes notify functions are explicitly disabled client-side, look for
disable('tick'); in superclass definitions to see if tick is being forcibly disabled.
If you want to check whether something is being executed client-side, a quick and dirty way is to deliberately crash the game (logging works too but crashing is quicker
) using:
Code:
simulated function Tick(float DeltaTime)
{
Super.Tick(DeltaTime);
if (Level.NetMode != NM_DedicatedServer) // Client or listen server
{
// Do some effects stuff
if (Level.NetMode == NM_Client) // only a client
{
assert(false); // crash the game instantly "assertion failed"
}
}
}
If the game crashes then you know it's being executed client-side, if it runs then you know that the function is never being called.