Access Violation When Trying To Create TSharedPtr of (this)Object

You could make your object derive from TSharedFromThis and then use AsShared() to get a shared pointer from, however that relies on your object having been allocated on the heap.

I’d question more why you need to use a shared pointer at all. Would a raw pointer or reference work instead? Keeping a shared pointer to your owner object from within a child object could easily lead to a reference cycle and a memory leak (unless you stored it as a weak pointer).