more Burgzerg Blues

Unity is having trouble with one script, both of these seem to be doing the same thing, but I’m not sure which one needs to go.

public struct ModifyingAttribute
{
    public Attribute attribute;
    public float ratio;
}
	
public ModifyingAttribute(Attribute att, float rat)
{
    Debug.Log("Modifying Attribute Created.");
    attribute=att;
    ratio= rat;
}

The debug command cannot exist is a struct. Which one needs to stay and why?
Thanks!

public ModifyingAttribute(…) is a constructor and needs to be declared and implemented inside the struct scope.