> For the complete documentation index, see [llms.txt](https://docs.streamavatars.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.streamavatars.com/lua-scripting-api/api-reference-and-tips/events/on-initializenewviewer.md).

# On InitializeNewViewer

```lua
function yourEvent(user)
    --note  this is similar to OnNewViewer event. The difference is that this event fires before the avatar spawns.
    --also note: under General > Avatar Settings, there's an option to disable "force free avatar" which lets you set everything in shop as gift only
    --which makes this even able to completely handle the first avatar a viewer will get.
     log(user.displayName .. ' is being initialized. you can make changes to them before they spawn!');
end

return function()

    addEvent('selectInitialAvatar', 'yourEvent'); --attaches the event to yourEvent()
    keepAlive();
end
```

{% hint style="info" %}
Events are asynchronous coroutines.
{% endhint %}
